首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在本地调用curl中的AppSync接口?

如何在本地调用curl中的AppSync接口?
EN

Stack Overflow用户
提问于 2021-11-17 09:23:08
回答 1查看 122关注 0票数 1

我用AppSync创建了一个应用程序接口。现在我想用curl调用它,我得到了以下错误:You are not authorized to make this call

我猜了以下几点:

代码语言:javascript
运行
复制
curl -g -X POST -H "Content-Type: application/json" -H "Authorization: Bearer da2-XXXXXXXXXXXXXXXXXXXXXXXXXX" -d '{"query":"listMyModelTypes{listMyModelTypes {items {id title}}}"}' https://wuw4mcnvautpl4v5ox33fdzoq.appsync-api.us-east-1.amazonaws.com/graphql

或者我是否应该在查询中的某个位置包含API ID?

EN

回答 1

Stack Overflow用户

发布于 2021-11-17 15:09:48

通过CURL或Postman进行Appsync查询依赖于获得正确的请求正文和头部。所需的头部取决于auth类型。

代码语言:javascript
运行
复制
# common variables
API_URL='https://<APPSYNC-ID>.appsync-api.eu-west-1.amazonaws.com/graphql'
QUERY='query GetImages($t: String!) { images(topic:$t) { edges { cursor } } }'
VARIABLES='{"t":"cats"}' # no spaces!

接口密钥认证x-api-key头部

代码语言:javascript
运行
复制
API_KEY='da2-XXXXXXXXXXXXXXXXXXXXXXXXXX'

curl -s -XPOST -H "Content-Type:application/graphql" -H "x-api-key:$API_KEY" -d '{"query": "'"$QUERY"'", "variables": '$VARIABLES'}' $API_URL

基于令牌的身份验证(例如Cognito)Authorizationhost标头

代码语言:javascript
运行
复制
TOKEN='<YOUR JWT AUTH TOKEN HERE>'
HOST='<APPSYNC-ID>.appsync-api.eu-west-1.amazonaws.com'

curl -s -XPOST -H "Content-Type:application/graphql" -H "Authorization:$TOKEN" -H "host:$HOST" -d '{"query": "'"$QUERY"'", "variables": '$VARIABLES'}' $API_URL
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70001763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档