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

本地如何通过curl调用AppSync API?出现未授权报错如何处理?

问题排查与解决方案

核心错误原因

你遇到的You are not authorized to make this call报错,最主要的问题是认证请求头使用错误:

  • da2-开头的字符串是AWS AppSync的专属API密钥,不属于Bearer类型的身份令牌,不能放在Authorization: Bearer头中传递。

修正方案

1. 修改请求头配置

将原请求里的Authorization: Bearer <da2开头密钥>替换为x-api-key: <da2开头密钥>,修正后的curl命令如下:

curl -g -X POST -H "Content-Type: application/json" -H "x-api-key: da2-XXXXXXXXXXXXXXXXXXXXXXXXXX" -d '{"query":"query listMyModelTypes { listMyModelTypes { items { id title } } }"}' https://wuw4mcnvautpl4v5ox33fdzoq.appsync-api.us-east-1.amazonaws.com/graphql

2. 额外检查项

如果修改头后仍然报错,请确认以下配置:

  • 你的AppSync API的默认授权模式是否设置为API_KEY,如果是Cognito用户池、OIDC、IAM等其他授权模式,需要对应更换认证凭证和请求头
  • 你使用的API密钥未过期,且未在AppSync控制台中被禁用
  • 不需要在查询语句中额外添加API ID,你使用的请求URL已经包含了API的唯一标识,无需额外传递参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 11:15:06