Я создал учетную запись службы в своем домене Google Apps с включенным делегированием всего домена и включенными полными областями API gmail и pubsub для идентификатора клиента учетной записи службы из панели управления моего домена.
Я могу успешно создать экземпляр клиента API Gmail и выдать себя за одну из учетных записей домена с помощью:
credentials = oauth2client.SignedJwtAssertionCredentials(secret['client_email'], secret['private_key'], ['https://www.googleapis.com/auth/gmail.modify'], sub='[email protected]')
http = httplib2.Http()
credentials.authorize(http)
return discovery.build('gmail', 'v1', http=http)
Я пытаюсь установить веб-перехватчик push-уведомлений для учетной записи олицетворенного пользователя следующим образом. Указанное название темы является допустимым.
request = {
'labelIds': ['INBOX'],
'topicName': 'projects/projectName/topics/topicName'
}
gmail.users().watch(userId='me', body=request).execute()
После звонка на просмотр я получаю следующую ошибку:
<HttpError 400 when requesting https://www.googleapis.com/gmail/v1/users/me/watch?alt=json returned "Invalid developer ID">
Вызовы других методов API Gmail (список сообщений и т. Д.) Успешны.
Могут ли учетные записи служб с делегированием на уровне домена включать веб-перехватчики push-уведомлений Gmail для учетной записи пользователя домена?
[email protected]
действительно получил права на публикацию моей темы. - person Dark Falcon   schedule 05.01.2016gmail.users().watch(userId='xxxxxxxxx', body=request).execute()
- person Austin Floyd   schedule 13.01.2016