我正在努力解决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
答案 0 :(得分:0)
当我正在处理管理目录(构建机器人以移动Google API)时,我习惯使用:
service = discovery.build('admin', 'directory_v1', http=http)
感谢Igle,我开始重新思考它,发现这个棘手的错误。 我现在就开始工作,看起来:
service = discovery.build('gmail', 'v1', http=http)