Php cURL с вызовом API с помощью GRAPHQL - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь вызвать API с именем Wave Я использовал cURL раньше, но никогда не работал с запросами GRAPHQL.Мне интересно, что не так с нижеприведенным при использовании cURL.Я получаю сообщение об ошибке Плохой запрос Ниже приведен пример моего кода.

Вот как выглядит API cURL

curl -X POST "https://reef.waveapps.com/graphql/public" \
  -H "Authorization: Bearer <ACCESS_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{ "query": "query { user { id defaultEmail } }" }'


$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://reef.waveapps.com/graphql/public');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{ "query": "query { user { id defaultEmail } }');
curl_setopt($ch, CURLOPT_POST, 1);


$headers = array();
$headers[] = 'Content-Type: application/json';
$headers[] = 'Authorization: Bearer 1212121';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
var_dump($result);

if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}

Любая помощь будет полезна.

Ответы [ 2 ]

0 голосов
/ 10 мая 2019

Вы можете создать своего собственного клиента, передавая любое промежуточное программное обеспечение:

$clientWithMiddleware = \MyGuzzleClientWithMiddlware::build();
$graphQLClient = new \Softonic\GraphQL\Client(
    $clientWithMiddleware,
    new \Softonic\GraphQL\ResponseBuilder()
);

Например, как создать клиент Guzzle с промежуточным ПО, вы можете проверить это: https://github.com/softonic/guzzle-oauth2-middleware/blob/master/src/ClientBuilder.php

0 голосов
/ 01 марта 2019

Я могу порекомендовать использовать https://github.com/softonic/graphql-client,, он отлично сработал для нас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...