python - Python GraphQL gql 客户端认证
问题描述
我很难将 GraphQL 与 Python 一起使用,因为建议的库:gql完全没有文档记录。
我如何发现要提供 api url,我需要像这样将 RequestsHTTPTransport 对象传递给 Client:
client = Client(transport=RequestsHTTPTransport(url='https://some.api.com/v3/graphql'))
但是如何提供像承载密钥这样的凭据?
PS我注意到它 RequestsHTTPTransport 也接受一个身份验证参数,描述为:
:param auth: Auth tuple or callable to enable Basic/Digest/Custom HTTP Auth
我怎么还是不知道如何创建这个元组或可调用以使用承载密钥:(
谢谢指教
解决方案
您可以将其添加到标题中。
reqHeaders = {
'x-api-key' : API_KEY,
'Authorization': 'Bearer ' + TOKEN_KEY // This is the key
}
_transport = RequestsHTTPTransport(
url=API_ENDPOINT,
headers = reqHeaders,
use_json=True,
)
client = Client(
transport = _transport,
fetch_schema_from_transport=True,
)
推荐阅读
- java - 无法正确使用 OkHttpClient
- c++ - 为什么在 C++ 中添加两个浮点数会得到一个整数?
- c - 如何从 C 语言中的字符串(字符数组)中删除所有数据?
- .htaccess - htaccess 中的多个 RewriteRule 以避免 404
- python - 字典将值赋予某个键,但其他键获得相同的值
- java - 生命周期方法和其他方法从哪里获取它们的参数值?
- android - RxJava 为本地和远程数据源组合单曲
- javascript - 开玩笑测试输入 onChange 函数
- python - 使用 Python 从 Outlook 365 中提取电子邮件附件
- tomcat - websocket 在 IIS 上托管时不会升级