2017-07-06 6 views
2

と(見通し)APIとグラフAPIの両方(https://outlook.office.com使用私はしばらくの間、Office365(見通し)APIで作業してきたマイクロソフトOffice365同じトークン

今、私はファイルをアップロードできるようにする必要があります。私はそれが他のサービスを使用してのみ行うことができることがわかった。 (e。Microsoft Graph)。

https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/item_createuploadsession

問題は、私の現在の認証と私は同時に両方のサービスにアクセスすることができないということです。

今私は、スコープを使用します。

openid offline_access profile 
https://outlook.office.com/calendars.readwrite.shared 

Files.ReadWrite.Allをに追加すると、Outlookのエンドポイントにアクセスできなくなりました。私は次のエラーを取得する:

The audience claim value is invalid 'https://graph.microsoft.com' 

は同じトークンで両方のサービスを呼び出すことができるようにする方法はありますか?多分どのような回避策ですか?

答えて

1

いいえ、同じトークンを使用することはできません。アクセストークンは、オーディエンスクレームを通じて特定のAPIにスコープされます。 Outlook APIは、トークン内のオーディエンス要求がグラフに設定されているため、トークンを拒否します。

あなたにとって最も簡単な解決策は、Outlook関連のものにGraphを使用することです。サポートされているものに関してはかなり近いです(https://docs.microsoft.com/en-us/outlook/rest/compare-graph-outlook参照)。

Outlookエンドポイントでしか使用できないものがある場合は、別のトークンを使用する必要があります。

+0

ありがとうございます! 私は2つの質問を持っています: 1.私はグラフだけを使用することを検討しますが、私が理解するように、すべての最新の変更が最初に見えますか? 2.両方を使用する必要がある場合は、https://login.microsoftonline.comの認証フローを別のスコープで2回実行する必要がありますか(ファイル用 - グラフ認証、メールのために - それは見通しだ)? – dvelopp

+0

1.彼らはそうしますが、そのギャップはそれで終わります。 2.はい、そうです。ユーザーは2回目にパスワードを入力する必要はありません。 –

+0

しかし、私が理解するように、彼らはログインページに移動し、 "許可"ボタンを2回押してください。それは普及したアプローチですか?つまり、良いUXではありません。 – dvelopp

関連する問題