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

如何在R中发起Token请求以获取Axon Evidence API访问凭证

问题排查及修正方案

原代码存在的核心问题

  • 请求URL错误:你错误将接口路径/api/oauth2/token放到了请求体中,实际请求目标URL应为完整的接口地址https://api.evidence.com/api/oauth2/token,而非根域名。
  • 请求体格式错误:httr的POST()方法会自动构造HTTP请求行、请求头,不需要你手动把完整的HTTP报文内容塞到body参数中,只需要传入表单参数即可。
  • 参数名不匹配:官方要求的密钥参数名为client_secret,你代码里写的是secret,参数名不一致会导致鉴权失败。
  • 缺少自动编码配置:没有指定表单编码方式,无法保证参数尤其是带等号的client_secret被正确URL编码。

修正后的代码示例

library(httr)

# 替换为你的实际凭证
partner_id <- "你的partner ID"
client_id <- "你的client ID"
client_secret <- "你的Base64编码的client secret"

# 发起令牌请求
Token_Response <- POST(
  # 正确的完整接口地址
  url = "https://api.evidence.com/api/oauth2/token",
  # 表单参数,httr会自动拼接为x-www-form-urlencoded格式
  body = list(
    grant_type = "client_credentials",
    partner_id = partner_id,
    client_id = client_id,
    client_secret = client_secret
  ),
  # 自动对所有参数做URL编码,会自动把client_secret末尾的=转为%3D
  encode = "form"
)

# 打印返回结果排查问题
print(content(Token_Response, "text"))
print(http_status(Token_Response))

额外注意事项

  • 拿到响应后先看HTTP状态码,如果是4xx类错误,大多还是参数或者鉴权信息填写错误,5xx类错误则是服务端问题。
  • 确认你填写的partner_id、client_id、client_secret都是Axon后台分配的正确值,没有多余的空格或者特殊字符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 14:06:03