ここの投稿と同様に、25,000 件以上のメールを分析しようとしています: http://beneathdata.com/how-to/email-behavior-analysis/
上記のスクリプトは IMAP を使用していましたが、セキュリティを強化するために Gmail API を使用してこれを実装しようとしています。私は Python (およびデータ分析用の Pandas) を使用していますが、質問はより一般的に Gmail API の使用に当てはまります。
ドキュメントから、次を使用してメールを読むことができます:
msgs = service.users().messages().list(userId='me', maxResults=500).execute()
次に、ループを使用してデータにアクセスします。
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 **
しかし、これは明らかに非常に遅いです。すべてのメッセージをループするだけでなく、list() API 呼び出しを何度も呼び出して、すべてのメールを循環する必要があります。
これを行うためのより高いパフォーマンスの方法はありますか? たとえば、すべての不要なメッセージ情報ではなく、データのみを返すように API に依頼します。
ありがとう。