如何对 Azure 时间序列见解查询 API 进行身份验证?

how to authenticate to Azure time series insights query API?

我在尝试查询 /environments 端点时不断收到 AuthenticationFailed 错误和 InvalidAuthenticationTokenAudience 内部错误。

我已经在 Azure Active Directory 中创建了一个应用程序,在时间序列见解管理门户中访问它,我已经可以从 auth URL.

我已尝试将令牌 url 设为“https://api.timeseries.azure.com/” resource/audience/scope,但 API 一直返回相同的错误消息:

{ "error": { "code": "AuthenticationFailed", "message": "Server failed to authenticate the request. The token has been obtained from wrong audience or resource.", "innerError": { "code": "InvalidAuthenticationTokenAudience", "message": "The access token has been obtained from wrong audience or resource '00000002-0000-0000-c000-000000000000'. It should exactly match (including forward slash) with one of the allowed audiences 'https://api.timeseries.azure.com/'." } } }

我正在使用 Oauth 2.0 身份验证类型的 Postman,客户端凭据授予类型并作为令牌请求的基本 Auth Header 选项发送。

有人试过成功吗?

更新 01: 其中一个标记的解码(使用评论中建议的 JWT)payload 部分显示 aud 字段是 00000002-0000-0000-c000-000000000000。这绝对是错误的。

根据异常,说明获取access token时资源不匹配https://api.timeseries.azure.com/

所以请确保资源是https://api.timeseries.azure.com/,更多信息请参考截图

获取访问令牌

我测试了 Get environments API,它对我来说工作正常。

GET https://api.timeseries.azure.com/environments?api-version=2016-12-12