2016-06-13 1 views
0

Я изо всех сил старался выполнить эту работу, но сделал половину работы.Gmail Api return Неавторизованный клиент или область в запросе

На самом деле я могу только читать сообщения из Gmail API, если я пытаюсь использовать gmail.modify Scope я получаю сообщение об ошибке:

HttpAccessTokenRefreshError: unauthorized_client: Несанкционированный клиент или сферу в запросе.

Вот мой код:

# init gmail api 
credentials_path = os.path.join(settings.PROJECT_DIR, 'settings/gmail_credential.json') 
scopes = ['https://www.googleapis.com/auth/gmail.readonly', 
      'https://www.googleapis.com/auth/gmail.modify'] 
credentials = ServiceAccountCredentials.from_json_keyfile_name(credentials_path, scopes=scopes) 
delegated_credentials = credentials.create_delegated('[email protected]') 
http_auth = delegated_credentials.authorize(Http()) 
gmail = build('gmail', 'v1', http=http_auth) 

В моей учетной записи службы:

  • Я поставил все ролям-плюсом моей учетной записи службы»...... iam.gserviceaccount.com "
  • Я активировал DWD: DwD: Доменная поддержка Google Apps включена.

Я где-то читал, что мне нужна учетная запись google, чтобы разрешить моей учетной записи службы использовать gmail.Modify в моей учетной записи электронной почты my_account @ gmail. Кажется очень трудным способом просто изменить сообщение в электронном письме.

Я не знаю, что делать дальше.

ответ

0

Основываясь на этом documentation, при настройке областей API вам необходимо использовать идентификатор клиента из «Консоли разработчика» в качестве имени клиента в «Управление доступом к клиенту API». Google API не работает должным образом с вашей личной учетной записью @ gmail.com. У вас должна быть учетная запись домена организации в Google в формате [email protected]_organisation_domain.

Проверить эти темы:

+0

Таким образом, нет никакого способа, чтобы управлять счетом @ gmail.com через Gmail Апи? – kollo

Смежные вопросы