Под консоли [email protected]
в консоли API я создал проект, и я успешно использую учетную запись службы для служб Analytics API
и Search Console API
. Я теперь позволил Gmail V1
API и побежал этот код:API Gmail с учетной записью службы
gmail_scopes = [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.compose",
"https://www.googleapis.com/auth/gmail.readonly",
"https://www.googleapis.com/auth/gmail.send",
"https://www.googleapis.com/auth/gmail.readonly"
]
gmail = Google::Apis::GmailV1::GmailService.new
gmail.authorization = Google::Auth.get_application_default(gmail_scopes)
Это тот же самый код (с различными областями, конечно), что я использую, чтобы санкционировать Analytics и поиск консоли API.
Однако я получаю BAD REQUEST
Failed Precondition
ошибки, когда я запускаю это:
gmail.get_user_profile("[email protected]")
Некоторой прибегая к помощи говорит мне, что это потому, что API пытается получить доступ к несуществующему почтовому ящику для ServiceAccount адреса электронной почты, и что в initiatlization Мне нужно включить [email protected]l.com
, чтобы служба API использовала этот почтовый ящик.
Как это сделать?
Я попробовал следующее «...» всегда является адрес электронной почты
gmail.authorization = Google::Auth.get_application_default(gmail_scopes, username: '...')
gmail.authorization = Google::Auth.get_application_default(gmail_scopes, {username: '...'})
gmail.authorization.username = '...'