AttributeError: у объекта 'Resource' нет атрибута 'messages' - PullRequest
0 голосов
/ 24 апреля 2018

У меня странная проблема с Google Gmail API (python). Я пытаюсь отправить сообщение, учетные данные выглядят правильно (меня перенаправили на сайт, чтобы принять, если я позволю приложению управлять электронной почтой и т. Д.)

ОБЛАСТЬ ПРИМЕНЕНИЯ: 'https://mail.google.com/'

Код:

import httplib2
from apiclient import discovery
def SendMessage(user_id, message):
  """Send an email message.

  Args:
    service: Authorized Gmail API service instance.
    user_id: User's email address. The special value "me"
    can be used to indicate the authenticated user.
    message: Message to be sent.

  Returns:
    Sent Message.
  """
  from GoogleCredentialsMail import get_credentials
  credentials = get_credentials()
  http = credentials.authorize(httplib2.Http())
  service = discovery.build('admin', 'directory_v1', http=http)

  message = (service.users().messages().send(userId=user_id,        
   body=message).execute())
  print('Message Id: %s' % message['id'])
  return(message)

Но я получаю ошибку:

AttributeError: 'Resource' object has no attribute 'messages'

Есть предложения?

Ссылка на API: https://developers.google.com/gmail/api/guides/sending

1 Ответ

0 голосов
/ 25 апреля 2018

Когда я работал с директорией администратора (создание бота для перемещения в API Google), я привык использовать:

service = discovery.build('admin', 'directory_v1', http=http)

Благодаря Igle я начал переосмысливать его с самого начала и обнаружил эту хитрую ошибку.Я получил его на работу сейчас, и это выглядит:

service = discovery.build('gmail', 'v1', http=http)
...