AttributeError:'Resource'对象没有属性'messages'

时间:2018-04-24 14:51:10

标签: python gmail-api

我正在努力解决Google Gmail API(python)的一个奇怪问题。 我正在尝试发送消息,凭据看起来正确(我被重定向到网站接受,如果我允许应用程序管理电子邮件等。)

SCOPE:'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 :(得分:0)

当我正在处理管理目录(构建机器人以移动Google API)时,我习惯使用:

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

感谢Igle,我开始重新思考它,发现这个棘手的错误。 我现在就开始工作,看起来:

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