我想使用 Python 代码访问 AWS AppSync API 并与请求库混淆。
身份验证模式是 Cognito 用户池。我的问题是:
如何从 Cognito 用户池获取访问令牌?
如何进行查询、突变和处理订阅?
我尝试使用身份验证模式 API 密钥来做到这一点。但我收到以下错误。
import requests
import json
URL = "https://vtcarmq7zzeadnkwzcgfr24irm.appsync-api.us-east-1.amazonaws.com/graphql"
headers = {"x-api-key":"da2-bwuyzqchhfgyxemcmdinjegb7e"}
data = json.dumps({
"query": '''
listTodos(filter:{
title:{
contains:"g"
}
} ) {
items{
id title duedate
}
}
'''
} )
r = requests.request("POST", URL , data = data , headers = headers)
print(r.text)
{ "errors" : [ { "message" : "无法解析 GraphQL 查询。", "errorType" : "MalformedHttpRequestException" } ] }
我看过这个视频https://www.youtube.com/watch?v=2U4RsbFO4bA&t=1172s 在这个视频中,为了使用 cognito 用户池进行身份验证,他说要调用 cognito 用户池并获取令牌并通过它到标头中的 aws appsync。
我是 aws 和 python 请求模块的新手,正在尝试为此视频编写 python 代码。