Опубликовать мутацию GraphQL с запросами Python - PullRequest
0 голосов
/ 03 ноября 2018

У меня проблемы с публикацией мутаций в GraphQL и Python Requests.

Моя функция выглядит так:

def create(request):
    access_token = 'REDACTED'
    headers = {
        "X-Shopify-Storefront-Access-Token": access_token
    }


    mutation = """
    {
      checkoutCreate(input: {
        lineItems: [{ variantId: "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC80", quantity: 1 }]
      }) {
        checkout {
           id
           webUrl
           lineItems(first: 5) {
             edges {
               node {
                 title
                 quantity
               }
             }
           }
        }
      }
    }
    """

    data = (requests.post('https://catsinuniform.myshopify.com/api/graphql', json={'mutation': mutation}, headers=headers).json())


    print(data)
    return render(request, 'Stock/create.html', { 'create': data })

Я получаю сообщения о том, что в моем ответе на json есть неверный запрос "bad_request - Параметр отсутствует или недействителен".

1 Ответ

0 голосов
/ 03 ноября 2018

Даже если вы отправляете мутацию, ваше тело запроса должно содержать свойство запроса, значением которого должна быть строка, представляющая вашу операцию. Это немного сбивает с толку, но неофициально и запросы, и мутации называются «запросами» (вы все равно «запрашиваете» сервер в любом случае). Измените ваш запрос на:

requests.post('https://catsinuniform.myshopify.com/api/graphql', json={'query': mutation}, headers=headers)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...