2017-06-12 5 views
0

hereのCortana接続アカウントの例に従おうとしています。デフォルトの例では正常に動作しているライブAPIを使用しています。しかし、私はGraph api sdkを使いたいと思っていました。Cortanaでの認証トークンの使用方法graph api sdkを使用した接続アカウントのシナリオ

Microsoft.Graph.ServiceException: 'Code: InvalidAuthenticationToken 
Message: CompactToken parsing failed with error code: -2147184118 

関連するコードである: var graphserviceClient = new GraphServiceClient(new AzureAuthenticationProvider(authAccessToken));

AzureAuthenticationProviderクラスであるグラフAPIは、このエラーを与えていると(エンティティの一つとしてコルタナによって送信される)と同じ認証トークンを使用しようとしています。

public class AzureAuthenticationProvider : IAuthenticationProvider 
{ 
    string _accessToken; 
    public AzureAuthenticationProvider(string accessToken) 
    { 
     _accessToken = accessToken; 
    } 

    public async Task AuthenticateRequestAsync(HttpRequestMessage request) 
    { 
     request.Headers.Add("Authorization", "Bearer " + _accessToken); 
    } 
} 

グラフSdkを使用してグラフクエリを実行するには、Cortanaから送信された認証トークンをボットにどのように使用できますか?

答えて

1

Cortanaからグラフリソースのトークンを取得しようとしている場合、接続アカウントのトークンURLにはresource=https://graph.microsoft.com/というクエリパラメータが必要です。また、トークンの有効性を確認するには、JWT.ioを使用してデコードしてみてください。あなたはあなたのトークンの中の聴衆としてグラフを見ることができるはずです。

関連する問題