2016-08-06 12 views
0

Office 365 adminとして、他の365ユーザのイベントをMicrosoft Graphで聞くことができますか? 私のためにイベントを受け取ることができますhttps://graph.microsoft.com/v1.0/me/eventsまたは "/v1.0/users/[email protected]/events" - 良い仕事...しかし、管理者が他のユーザーのイベントの詳細を取得しようとするとき。私はエラー
「メッセージ」を得る:「アクセスが拒否された資格情報を確認して再試行してください。。」、 https://graph.microsoft.com/v1.0/users/[email protected]オフィス365管理者として、他の365人のユーザーイベントのイベントを聞くことができますか?

それは、他のユーザーのためのイベントの詳細を取得することは可能ですか?はいの場合は、管理者側で設定が不足していることをお知らせください。そうでなければ、 "/v1.0/users/"と "/v1.0/me/"のapi間の差異は

答えて

1

はい。 クライアントの資格情報フローを使用して、アプリのアプリトークンを取得できます。詳細について

enter image description here

参照してくださいhere:そして、あなたが登録アプリは以下の図のようにすべてのメールボックス内のカレンダーを読み込むためのCalendars.Readスコープを持っていることを確認してください。アプリのみのため

コードリクエストトークン:

public static async Task<string> GetTokenAsync(string resource, string clientId, string secrect) 
    { 
     string authority = "https://login.microsoftonline.com/{yourtenant}"; 
     AuthenticationContext authContext = new AuthenticationContext(authority); 

     ClientCredential clientCredential = new ClientCredential(clientId, secrect); 
     AuthenticationResult authResult=await authContext.AcquireTokenAsync(resource, clientCredential); 
     return authResult.AccessToken; 
    } 

    public static void GetAccessTokenByClientCredential() 
    { 
     string clientId = ""; 
     string secrect = ""; 
     string resrouce = "https://graph.microsoft.com"; 
     string accessToken= TokenHelper.GetTokenAsync(resrouce, clientId, secrect).Result; 
     Console.WriteLine($"Access Token: {accessToken}"); 

    } 
+0

組織の他のユーザーのイベントの詳細を取得できません "エンティティの作成中にエラーが発生しました"例外:サーバーエラーステータスコード:禁止、理由:禁じられた "。私はgraph.microsoft.io API(グローバル管理者ログインユーザー)を試しました。https://graph.microsoft.com/v1.0/tenant.onmicrosoft.com/users/[email protected]/events https://graph.microsoft.com/v1.0/tenant.onmicrosoft.com/users/[email protected]/events - ErrorAccessDenied –

+0

アクセストークンはどのように入手しましたか? [here](https://jwt.io/)からアクセストークンを解析できます。アプリ専用トークンには、** scp **クレームの代わりに** roles **が含まれている必要があります。アプリ専用のトークンに**ロール**が含まれている場合は、** Calendars.Read **の値が表示されます。 –

+0

素早い返信をいただきありがとうございます。私はアプリケーションに必要な権限を与えることができました。しかし、まだアクセス拒否エラーを取り除くことができません。私のアプリケーションマニフェストには以下のものが含まれています:oauth2Permissions:[... "value": "user_impersonation"]これが問題なのかどうかはわかりません。マニフェストで "appRoles"を手作業で作成しようとしましたが、これまでのところ運がありません。 [btwサンプルはhttps://github.com/microsoftgraph/aspnet-webhooks-rest-sampleからダウンロードしました –

0

使用して別のユーザーのカレンダーを表示するには、Microsoft男1として/イベントは、エンドポイント、あなたは我々が特別許可(Calendar.Read.Sharedのようなもの)が必要ですこのスレッドはヴェンカトAyyadevaraで4月21日16日掲載された、まだ追加の過程で、

Microsoft Graph api 403 access denied when reading other users

...]リンク以下を見てください - MSFT、私はまだ進行中であると思います。

+0

ミーティングをスケジュールするために他のユーザーのカレンダー(空き時間用)を読み取ろうとしている場合は、ミーティング時間の検索APIを簡単に確認してください。https://graph.microsoft.io/en-us/docs/api-reference/beta/api/user_findmeetingtimes –

関連する問題