ユーザーアイコン

mizuko

約1か月前

0
0

Gmail APIとOutlook APIのメール連携実装における相違点一覧

Gmail API
Microsoft Graph API
Outlook
Gmail

メール連携機能を実装する際のGmail APIとMicrosoft Graph API(Outlook)の相違点まとめ。

API の違い

項目GmailOutlook
通知方式Google Cloud Pub/SubMicrosoft Graph Webhook (直接 HTTP 通知)
権限管理Google OAuth スコープMicrosoft Graph 権限
差分同期historyId による差分取得deltaLink による差分取得
メッセージ ID単純な文字列 IDより長い形式の ID
スレッド管理threadIdconversationId

実装上の考慮事項

項目GmailOutlook
Watch/サブスクリプション有効期限最大 7 日間最大 3 日間(4230 分)
有効期限更新方法更新 API なし(削除 → 新規作成が必要)PATCH で既存サブスクリプションを更新可能
権限スコープhttps://www.googleapis.com/auth/gmail.readonlyMail.Read, offline_access
ユーザー識別方法Webhook の emailAddress を使用Webhook の subscriptionId を使用

テーブル設計の相違

項目GmailOutlook
管理テーブルgmail_watchoutlook_subscription
主キーgmail_watch_id (prefix + ULID でローカル生成)subscription_id (Microsoft Graph から返される)
履歴管理history_iddelta_link
更新方法INSERT のみ(更新不要)INSERT + UPDATE(upsert)
有効期限延長削除してから新規作成既存レコードを UPDATE