2016-11-30 13 views
0

MicrosoftGraph OutlookメールのリストメッセージAPIを使用すると、管理者のメッセージ(はアプリケーションにトークンを生成することを許可しました)を一覧表示できますが、他のメッセージを取得することはできませんユーザー。次のAPI呼び出しを試しました。MicrosoftGraphのリストメッセージAPI返信アクセス拒否メッセージ

https://graph.microsoft.com/v1.0/users/[email protected]/messages 

次のエラーメッセージが返されます。

Status Code: 403 
{ 
    "error": { 
     "code": "ErrorAccessDenied", 
     "message": "Access is denied. Check credentials and try again.", 
     "innerError": { 
      "request-id": "2c567919-e538-456a-9a90-74fa43685bd1", 
      "date": "2016-11-30T10:37:58" 
     } 
    } 
} 

問題を解決するのを手伝ってください。

注:私は認証のためのコードフローを使用していますし、それがマルチテナントアプリケーションです。マルチテナントアプリケーションのトークンフローを実装することは可能ですか?

答えて

0

あなたの質問から、使用している認証フローはわかりませんが、認証コードフローを使用していると思われます。

認証コードフローとユーザー委任アクセス許可を使用している場合は、ユーザーが一般ユーザーであるか管理者であるかにかかわらず、現在のユーザーのメッセージにのみアクセスできます。

サンプル使用して認証コードフロー:

var ctx = new AuthenticationContext(authority + tenant); 
var t = await ctx.AcquireTokenAsync(resource, clientId, new Uri(redirectUri), new PlatformParameters(PromptBehavior.Auto)); 

クライアントの資格情報が流れ、アプリケーションの権限を使用すると、任意のユーザーのメッセージを取得することができ介してのみ。クライアントの資格情報を使用して

.Sampleが流れ:応答のための

var ctx = new AuthenticationContext(authority + tenant, new TokenCache()); 
var t = ctx.AcquireToken(resource, new ClientCredential(clientId, clientSecret)); 
+0

感謝を。私は認証のためのコードフローを使用しています、私はマルチテナントアプリケーションを開発しています。マルチテナントアプリケーションに**クライアントクレデンシャルフロー**を使用することは可能ですか?次の[ページ](https://graph.microsoft.io/en-us/docs/authorization/app_only)には、シングルテナントまたはデーモンapp_が記載されています。 –

関連する問題