Вызов API GraphQL с помощью строковой переменной - PullRequest
2 голосов
/ 17 февраля 2020

Я хочу выполнить простой запрос GraphQL, в котором я передаю переменную.

import requests
import json

var = "whatever"

query = """
    query ($var: String!){
        styles(locale: "en", styleNumbers: [ $var] ) {
            styleOptions {
    parms {
        parm1
        parm2
            }
        }
        }
    }
"""

url = 'https://sth_random.io/graphql?'
response = requests.get(url, json={'query': query, '$var': var})
response = response.json()

print(response)

, но получаю следующую ошибку:

{'errors': [{'message': 'Variable "$var" of required type "String!" was not provided.', 'locations': [{'line': 2, 'column': 12}]}]}

Чего мне не хватает ?

Заранее спасибо.

1 Ответ

2 голосов
/ 17 февраля 2020

Тело запроса должно содержать ключ variables, который сам является словарем значений переменных:

variables = {'var': var}
response = requests.post(url, json={'query': query, 'variables': variables})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...