Python GraphQL gql 客户端认证

Posted

技术标签:

【中文标题】Python GraphQL gql 客户端认证【英文标题】:Python GraphQL gql client authentication 【发布时间】:2020-05-12 05:11:24 【问题描述】:

我很难将 GraphQL 与 Python 一起使用,因为建议的库:gql 完全没有文档记录。

我如何发现要提供 api url 我需要像这样将 RequestsHTTPTransport 对象传递给客户端:

client = Client(transport=RequestsHTTPTransport(url='https://some.api.com/v3/graphql'))

但是如何提供像 Bearer Key 这样的凭据呢?

PS 我注意到它 RequestsHTTPTransport 也接受一个身份验证参数,描述为:

:param auth: Auth tuple or callable to enable Basic/Digest/Custom HTTP Auth

我仍然不知道如何创建这个元组或可调用以使用不记名密钥:(

谢谢指教

【问题讨论】:

【参考方案1】:

您可以在标题中添加它。

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,
)

【讨论】:

以上是关于Python GraphQL gql 客户端认证的主要内容,如果未能解决你的问题,请参考以下文章

Python GraphQL 变量未定义

从 .gql 文件中命名导出多个 graphql 操作

如何在 apollo 的 graphql-gql 中使用从 npm 包导入的自定义 graphQL 类型

GraphQL Clojure:获取 GQL 查询字段

useQuery 返回未定义,但在 gql 操场上返回数据

为啥 WebStorm 在 Vue 组件或 .graphql 文件中的 apollo 对象内的 gql 查询中显示错误