0

我正在尝试遵循此处提供的 Cortana 连接帐户示例。默认示例使用运行良好的实时 api;但是,我想使用 Graph api sdk。尝试使用与 Graph api 相同的身份验证令牌(由 Cortana 作为实体之一发送)会出现此错误:

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

相关代码为: var graphserviceClient = new GraphServiceClient(new AzureAuthenticationProvider(authAccessToken));

AzureAuthenticationProvider 类是:

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

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

如何使用 Cortana 发送到我的机器人的身份验证令牌来使用 Graph Sdk 执行 Graph 查询?

4

1 回答 1

1

如果您尝试从 Cortana 获取图形资源的令牌,则 Connected Account 中的令牌 URL 应该有一个名为的查询参数resource=https://graph.microsoft.com/,此外,要验证令牌的有效性,请尝试使用 JWT.io 对其进行解码。您应该能够将图形视为令牌中的受众。

于 2017-06-14T22:55:34.147 回答