2
我想从我的收件箱中有类似https://code.google.com/p/google-api-python-client/source/browse/samples/service_account/tasks.py列出的示例代码获取消息的列表:的GMail API +服务帐户
import httplib2
from apiclient.discovery import build
from oauth2client.file import Storage
from oauth2client.client import SignedJwtAssertionCredentials
SERVICE_ACCOUNT_ID="10*[email protected]"
KEY_FILE="/Users/*/gmail-sessionid-privatekey.p12"
KEY_SECRET="notasecret"
f = open("/Users/*/gmail-sessionid-privatekey.p12")
key = f.read()
f.close()
credentials = SignedJwtAssertionCredentials(
SERVICE_ACCOUNT_ID, key, scope="https://www.googleapis.com/auth/gmail.readonly")
http = httplib2.Http()
http = credentials.authorize(http)
service = build("gmail", "v1", http=http)
response = service.users().messages().list(userId='me', q='').execute(http=http)
messages = response['messages']
print messages
我得到的回应是:
Traceback (most recent call last):
File "service.py", line 21, in <module>
response = service.users().messages().list(userId='me', q='').execute(http=http)
File "/Library/Python/2.7/site-packages/oauth2client/util.py", line 132, in positional_wrapper
return wrapped(*args, **kwargs)
File "/Library/Python/2.7/site-packages/apiclient/http.py", line 723, in execute
raise HttpError(resp, content, uri=self.uri)
apiclient.errors.HttpError: <HttpError 500 when requesting https://www.googleapis.com/gmail/v1/users/me/messages?q=&alt=json returned "Backend Error">
我想知道我做错了什么?这似乎是我可以创建的服务帐户的最简单示例。
谢谢!
你可以参考下面的问题 HTTP:/ /stackoverflow.com/questions/24779138/can-we-access-gmail-api-using-service-account/24795241#24795241 –