從Gmail提取所有電子郵件的方法是什么?我做到了full_sync,但這并沒有返回我的所有電子郵件-僅約3000封電子郵件,盡管我知道我還有更多。他們在文檔中沒有提到這一點(diǎn)。我的代碼片段: history = service.users().history().list( userId='me', startHistoryId=start_history_id, maxResults=500, labelId='INBOX' ).execute() if "history" in history: try: for message in history["history"]: batch.add( service.users().messages().get(userId='me', id=message["messages"][0]["id"]), callback="somecallbak", request_id=request_id ) batch.execute() while 'nextPageToken' in history:
2 回答

繁花如伊
TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個贊
根據(jù)此鏈接的建議,您可以使用批處理請求。
使用批處理并一次請求100條消息。您將需要發(fā)出 1000 個請求,但好消息是這很好,而且對每個人來說都更容易(不要在單個請求中下載 1GB 響應(yīng)!)。
同樣基于此線程,您可以在每個請求上保存下一個頁面令牌,并在下一個請求中使用它。如果響應(yīng)中沒有下一頁標(biāo)記,則說明您已收到所有消息。
添加回答
舉報(bào)
0/150
提交
取消