Я очень новичок в Google API, в конце концов я хочу отправлять электронные письма, используя его. Но сейчас я пытаюсь что-то немного проще (а затем создать его).
Список всех электронных писем в папке "Входящие".
С Gmail > API > Reference
, Я выполнил следующие действия:
На консоли API Google:
- Создал мое приложение.
- В разделе
API & Services > Credentials
я создал пользователя с ролью Project/Owner
(просто чтобы убедиться, что на этом этапе нет проблем с разрешениями). - Затем я создал ключ и скачал файл json.
- При
API & Services > Library
я включил Gmail.
И, используя Справочник, я собрал это фрагмент:
app.ts
import { google } from 'googleapis';
import credentials from './credentials';
async function main() {
const auth = new google.auth.GoogleAuth({
credentials,
scopes: [
'https://mail.google.com/',
'https://www.googleapis.com/auth/gmail.compose',
'https://www.googleapis.com/auth/gmail.modify',
'https://www.googleapis.com/auth/gmail.readonly',
'https://www.googleapis.com/auth/gmail.metadata'
]
});
const authClient = await auth.getClient();
const gmail = google.gmail({ version: 'v1', auth: authClient });
const data = await gmail.users.messages.list({ userId: 'me' });
console.log(data);
}
main().catch(console.log);
пакет. json
...
"dependencies": {
googleapis": "^48.0.0"
}
...
Каждый раз, когда я запускал этот фрагмент, я получал:
[01] GaxiosError: неверный запрос
[02] в Gax ios ._ запросе (~ \ node_modules \ gaxios \ build \ src \ gax ios. js: 85: 23)
. ..
[06] ответ: {
...
[35] статус: 400,
[36] statusText: 'Bad Request',
[37] запрос: {
[38] responseURL: 'https://www.googleapis.com/gmail/v1/users/me/messages'
...
Я перепробовал множество различных конфигураций в консоли API Google. Попытался изменить область действия (список URL-адресов со строки 8 на 12) для многих других, изменить учетные данные. json на формат. js и .ts, вместо глобальной импорта поместить глобальную переменную (GOOGLE_APPLICATION_CREDENTIALS) вместо прямого импорта , Но, несмотря на все мои попытки, я получил ту же ошибку.
Как я могу это исправить?