2016-05-24 5 views
0

を読み取るために、Microsoftのグラフを使用して、私は自分のアプリケーションに次のスコープを与えた:すべてのユーザーのカレンダーに

SCOPES = [ "Calendars.Read", "User.Read.All" ] 

私はアクセストークンを得ました。このトークンを使用すると、ユーザーを取得することができ、正しい2人のユーザーを取得できます。

私は、自分のカレンダー(管理者)を求める:

https://graph.microsoft.com/v1.0/users/[email protected]/calendarview?startDateTime=#{start_date.to_s}&endDateTime=#{end_date.to_s} 

また、これは完璧に動作します。私は、他のユーザーのためにこれを行うところが:

https://graph.microsoft.com/v1.0/users/[email protected]/calendarview?startDateTime=#{start_date.to_s}&endDateTime=#{end_date.to_s} 

私は、このエラーメッセージが表示されます:

Access is denied. Check credentials and try again. 

ドキュメントによると:https://graph.microsoft.io/en-us/docs/authorization/permission_scopes

Calendars.Read:すべてのメールボックス内のカレンダーを読みます:ログインしていないユーザーがいないすべてのカレンダーの予定を読み取ることをアプリに許可します。

私がアクセストークンと一緒に戻った範囲は、これは「calendars.read user.read.all」です。これで受け入れられました。

私はここで何が欠けていますか?

答えて

2

私たちはあなたが要求しているシナリオ(他のユーザーのカレンダーへのアクセス)はサポートしていますが、機能はまだ出荷されていません。お待ちください...

更新:クライアントの資格情報の流れをご覧ください。ブログ投稿https://blogs.msdn.microsoft.com/exchangedev/2015/01/21/building-daemon-or-service-apps-with-office-365-mail-calendar-and-contacts-apis-oauth2-client-credential-flow/は、Outlook APIエンドポイントでこれを行う方法を説明しています。しかし、Microsoft Graphの指示に従うことができるはずです。

アプリが同意する管理者が必要になり、その後、限り、自分のメールボックスには、Office 365

+1

こんにちはVenkatさんであるとして、組織内のお返事に感謝をすべてのユーザーのカレンダーにアクセスすることができます。 ETAはありますか?ドキュメントにはこれを示すべきではありません。間違っていることを見つけようとする無駄な時間を避けるためです。 – rept

+0

これが原因で問題に同意して申し訳ありません。ドキュメントを更新します。また、クライアント資格情報フローOAuthを使用することができ、管理者の同意を得ている場合は、シナリオを実装する方法があります。あなたが興味があれば教えてください。 –

+0

は絶対に。私の主な目標は、管理者は1回限りの許可を与え、その後、管理者はユーザーをADユーザー(またはADユーザーをインポート)にリンクさせることができ、個人ユーザーはOutlookをTemponiaにインポートしてタイムシートに転送できます。すべてのユーザーが許可を得る必要はありません。 – rept

関連する問題