You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过Azure REST API查询Application Insights时获取Token遇权限问题

问题分析与解决方法

核心问题:用错了凭证类型

你混淆了两种不同的身份验证逻辑:

  • Azure Application Insights API Access面板生成的API密钥+Application ID,是用于直接调用旧版Application Insights REST API的凭证,不需要走Azure AD OAuth2流程。
  • 你参考的OAuth2客户端凭证流,需要的是Azure AD应用注册的client_id和client_secret,不是AI面板里的那组信息。错误提示里的“AADSTS700016”就是因为AAD找不到你传入的“Application ID”——这个ID是AI资源的标识,不是AAD注册应用的标识。

解决方案一:改用AAD应用注册完成OAuth2认证

  1. 创建AAD应用注册
    • 登录Azure门户,进入“Azure Active Directory”→“应用注册”→“新注册”,创建一个新应用。
    • 记录该应用的应用程序(客户端)ID,这就是你需要的client_id。
  2. 分配权限并获取管理员同意
    • 在应用注册的“API权限”页面,点击“添加权限”→选择“Azure Application Insights”→勾选“Application Insights Data Reader”权限。
    • 点击“授予管理员同意”,完成权限生效。
  3. 生成客户端密码(client_secret)
    • 进入应用注册的“证书和密码”页面,点击“新建客户端密码”,设置过期时间后生成,记录这个密码值(只会显示一次)。
  4. 修正Postman参数
    • 将client_id替换为AAD应用注册的应用程序ID
    • 将client_secret替换为刚生成的客户端密码
    • 其余参数(url、tenant、scope、grant_type)保持不变,重新请求即可获取有效令牌。

解决方案二:直接使用AI API密钥调用(无需OAuth)

如果不需要走AAD认证,可直接用AI API密钥调用旧版API:

  • 请求头添加:Authorization: ApiKey <你的AI API密钥>
  • 请求URL格式:https://api.applicationinsights.io/v1/apps/<AI资源的Application ID>/query
  • 直接发送查询请求即可。

内容的提问来源于stack exchange,提问作者FunkMonkey33

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 09:50:42