Gmail APIとOutlook APIのメール連携実装における相違点一覧
Gmail API
Microsoft Graph API
Outlook
Gmail
メール連携機能を実装する際のGmail APIとMicrosoft Graph API(Outlook)の相違点まとめ。
API の違い
項目 | Gmail | Outlook |
---|---|---|
通知方式 | Google Cloud Pub/Sub | Microsoft Graph Webhook (直接 HTTP 通知) |
権限管理 | Google OAuth スコープ | Microsoft Graph 権限 |
差分同期 | historyId による差分取得 | deltaLink による差分取得 |
メッセージ ID | 単純な文字列 ID | より長い形式の ID |
スレッド管理 | threadId | conversationId |
実装上の考慮事項
項目 | Gmail | Outlook |
---|---|---|
Watch/サブスクリプション有効期限 | 最大 7 日間 | 最大 3 日間(4230 分) |
有効期限更新方法 | 更新 API なし(削除 → 新規作成が必要) | PATCH で既存サブスクリプションを更新可能 |
権限スコープ | https://www.googleapis.com/auth/gmail.readonly | Mail.Read , offline_access |
ユーザー識別方法 | Webhook の emailAddress を使用 | Webhook の subscriptionId を使用 |
テーブル設計の相違
項目 | Gmail | Outlook |
---|---|---|
管理テーブル | gmail_watch | outlook_subscription |
主キー | gmail_watch_id (prefix + ULID でローカル生成) | subscription_id (Microsoft Graph から返される) |
履歴管理 | history_id | delta_link |
更新方法 | INSERT のみ(更新不要) | INSERT + UPDATE(upsert) |
有効期限延長 | 削除してから新規作成 | 既存レコードを UPDATE |