用戶授權「讀取」權限後,我需要獲取用戶的所有電子郵件。我有access_token/refresh_token,它可以幫助我爲每封電子郵件打個別電話。我想對所有message_ids進行批量請求,以減少涉及的時間。這裏是我的代碼批量請求失敗。如何使用python httplib或urllib2做Google API批量請求?
import httplib,urllib
def fetch_batch():
headers = {'Authorization' : 'Bearer ya29.swCasdjkfgsdalkfgsadfgasdjhgasdkjfasgdfaksdf', 'Host' : 'www.googleapis.com', 'Content-Type' : 'multipart/mixed; boundary=demoabc_wp'}
body="""demoabc_wp
Content-Type: application/http
GET /gmail/v1/users/[email protected]/messages/1497474ajsd
demoabc_wp
Content-Type: application/http
GET /gmail/v1/users/[email protected]/messages/149744safdg
demoabc_wp
"""
h = httplib.HTTPConnection('www.googleapis.com')
h.request('POST', '/batch', body, headers)
print h.getresponse().read()
這給出了這樣的迴應:提前
<HTML>
<HEAD>
<TITLE>Bad Request</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Bad Request</H1>
<H2>Error 400</H2>
</BODY>
</HTML>
感謝。 參考:https://developers.google.com/gmail/api/guides/batch和Batch fetching messages performance
我認爲你應該嘗試使用代碼來提出請求。這是一個400錯誤。儘管我使用了你建議的確切語法,但仍然顯示了400錯誤。還有一些我錯過了我的想法。 – kawadhiya21 2014-11-04 19:23:13
2問題,需要是https,以及身體中的東西在空間之前的空格。以上的作品,除了抱怨原因,這不是一個有效的授權。請注意,即使有這些修復,它仍然需要連字符 – 2014-11-05 04:41:09