を受けたすべての電子メールの日付にアクセス:http://beneathdata.com/how-to/email-behavior-analysis/GmailのAPI - すぐに私は私の25K +ここポストに似た電子メールを分析してみてくださいよ、これまで送ら/
言及したスクリプトは、IMAPを使用している間、私が実装しようとしていますGmail APIを使用してセキュリティを強化しています私はPython(とデータ分析のためのPandas)を使用していますが、Gmail APIの使用には一般的に問題があります。
ドキュメントから、私が使用して電子メールを読むことができるよ:
for msg in msgs['messages']:
m_id = msg['id'] # get id of individual message
message = service.users().messages().get(userId='me', id=m_id).execute()
payload = message['payload']
header = payload['headers']
for item in header:
if item['name'] == 'Date':
date = item['value']
** DATA STORAGE FUNCTIONS ETC **
が、これは明らかに非常に遅いです:
msgs = service.users().messages().list(userId='me', maxResults=500).execute()
をして、ループを使用してデータにアクセスします。すべてのメッセージをループするだけでなく、list()APIコールを何度も呼び出す必要があります。
パフォーマンス向上の方法はありますか?例えばすべての不要なメッセージ情報ではなく、データを返すようにAPIに依頼します。
ありがとうございました。
感謝のリストによって与えられたメッセージを取得しますラフPythonの例です!バッチは私が探しているもののように聞こえる。しかし、これは依然としてメッセージ全体を取得し、すべてのメッセージをループしてデータを抽出します。特定のデータのみを返す方法を知っていますか?これをより効率的に行いますか?また、私はまだメッセージIDを取得するためにバッチコールの前にlist/list_nextを使う必要があると思いますか?乾杯。 – SLater01
「特定のデータ」とは何ですか? (そして、はい、list()を使用してメサージIDのリストを取得し、次にget()を使用して詳細を取得します)。 – payne
format = 'minimal'を設定していただきありがとうございます。これにより、メッセージ本体などが無視され、無駄なデータ転送が回避されます。 – SLater01