これはなに?
メール受信をして添付ファイルがあった場合所定のフォルダに保存したい。
graphAPIを呼び出すにはAzure ADで認証(OAuth 2.0)が必要。
認証がなくても、アカウントがログイン済みのOutlookのアドインからなら何とかならないかなあ~と調べた結果の備考録です。
注意:解決していません
持ち上げて落とす Outlook REST API
認証なく、アドインの内部からAPIを呼べる!?という文言を見つける。
アクセス トークンを取得する
Outlook REST API では、Authorization ヘッダーにベアラー トークンが必要です。 通常、アプリは OAuth2 フローを使用してトークンを取得します。 ただし、アドインは、メールボックス要件セット 1.5 で導入された新しい Office.context.mailbox.getCallbackTokenAsync メソッドを使用して、OAuth2 を実装せずにトークンを取得できます。
isRest オプションを true に設定することにより、REST API と互換性があるトークンを要求できます。
わーい!と思ったら直後に非推奨になる案内があった。絶望。
重要
Outlook REST v2.0 とベータ エンドポイントの非推奨
Outlook REST v2.0 およびベータ エンドポイントは 、2024 年 3 月 31 日に完全に非推奨となる予定です。ただし、非公開でリリースされたアドインと AppSource ホスト型アドインは、 2025 年 10 月 14 日に Outlook 2019 の延長サポートが終了するまで REST サービスを使用できます。 これらのアドインからのトラフィックは、除外対象として自動的に識別されます。 この除外は、使用停止日以降に開発された新しいアドインにも適用されます。
アドインは 2025 年まで REST サービスを使用できますが、 Microsoft Graph を使用するようにアドインを移行することを強くお勧めします。 ガイダンスについては、「 Microsoft Graph と Outlook REST API エンドポイントの比較」を参照してください。
いまMicrosoftのAPIがセキュリティ強化している
OpenAIから始まったAIの進化により、サイバー攻撃が多くなり、Microsoftも対象になった様子。今後より巧妙になる攻撃に対し、対応すべく、2002年に提言されていたらしいMicrosoft セキュリティ開発ライフサイクル (SDL) の次フェーズに移行するようです。
わー、たくさん変わっちゃう~~~。
ID保護の観点から多要素認証の対応や、新しい管理システムに移行していくようです。このため既知の承認方法や手段が使えなくなっていく・切り替えていく必要があるようです。
Office アドインの新しい入れ子になったアプリ認証
2024/10にはOffice Outlook アドインからREST APIを使うことができなくなり、アドインの新し入れ子になったアプリ認証を…が普通に入れ子となるということで認証の作業がいらないのかと思ったらそうでもなかった。
Office アドインの新しい入れ子になったアプリ認証: 2024 年 10 月にレガシ Exchange トークンが既定でオフになる
アプリケーションIDが必要ということはAzureサブスクリプション側にいってID登録が必要っぽい。
どうやったってこの手段からは逃れられないみたい…。
ただ、アドインプラットフォーム登録なので、アドインを複数アカウントに対しての配布であっても、アプリケーションとして登録があれば、APIコールは大丈夫になるのかな…?