Python аутентификация клиента GraphQL gql - PullRequest
0 голосов
/ 26 января 2020

Мне трудно использовать GraphQL с Python, поскольку предлагаемая библиотека: gql полностью недокументирована.

Как только я узнал, что предоставить URL-адрес API нужно передать объект RequestsHTTPTransport клиенту следующим образом:

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

, но как предоставить учетные данные, такие как ключ носителя?

PS Я заметил, что RequestsHTTPTransport также принимает параметр auth, который описан как:

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

Как бы то ни было, я до сих пор не могу узнать, как создать этот кортеж или функцию для вызова с Ключом-носителем: (

Спасибо, советуем

1 Ответ

0 голосов
/ 03 марта 2020

Вы можете добавить его в заголовки.

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