Не могу сделать правильный запрос GraphQL для Yelp

Может быть, это очевидно, но я новичок в Apollo. Я пытаюсь отправить простой запрос graphQL на сервер yelp

import React from 'react';
import { render } from 'react-dom';
import ApolloClient from 'apollo-boost';
import { setContext } from 'apollo-link-context';
import { createHttpLink } from 'apollo-link-http';
import { InMemoryCache } from 'apollo-cache-inmemory';
import gql from 'graphql-tag';
import { ApolloProvider } from 'react-apollo';
import { yelpCredentials } from '../../../keys/yelp/config';
import 'cross-fetch/polyfill';
import App from './components/App';

const httpLink = createHttpLink({
  uri: 'https://api.yelp.com/v3/graphql',
});
const authLink = setContext((_, { headers }) => {
  const token = yelpCredentials.API_Key;
  return {
    headers: {
      ...headers,
      authorization: token ? `Bearer ${token}` : '',
      'Content-Type': 'application/graphql',
    },
  };
});
const client = new ApolloClient({
  link: authLink.concat(httpLink),
  cache: new InMemoryCache(),
});

client.query(
 ***[QUERY_CONTENT]***
 ,
}).then(console.info);

render(
  <ApolloProvider client = {client}>
    <App />
  </ApolloProvider>,
  document.getElementById('app'),
);

пытался: query1:

client.query({
  query: gql`
  query business($id: String!) {
      business(id: $id) {
        name
        id
        alias
        rating
        url
      }
    }
  `,
  variables: { id: 'garaje-san-francisco' },
}).then(console.info);

ошибка: неперехваченный (в обещании) Ошибка: сетевая ошибка: неожиданный токен <в JSON в позиции 0

query2:

client.query({
  query: gql`
      query business(id: "garaje-san-francisco") {
        name
        id
        alias
        rating
        url
      }
    }
  `,
}).then(console.info);

ошибка: "Синтаксическая ошибка: ожидаемый $, найдено имя" id ""

query3:

 client.query({
  query: gql`
    query business($id: String!) {
      name
      id
      alias
      rating
      url
    }
  `,
  variables: {
    id: 'garaje-san-francisco',
  },
}).then(console.info);

ошибка: неперехваченный (в обещании) Ошибка: сетевая ошибка: неожиданный токен <в JSON в позиции 0

Получаю данные с почтальоном https://imgur.com/hoC7s5e

Вы используете в своем запросе заголовок Content-Type: application / json?

Jimi Pajala 24.07.2018 23:31

Могут возникнуть проблемы с аутентификацией, поэтому yelp может вернуть вам HTML вместо JSON, и Apollo не сможет его проанализировать. Вы пробовали объект console.info, который вы возвращаете из setContext, выглядит ли он хорошо?

Viktor Vlasenko 26.07.2018 08:52
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
2
313
1

Ответы 1

импортировать ApolloClient из apollo-boost;

Я пытался применить конфигурацию для клиента apollo-client к клиенту apollo-boost

Другие вопросы по теме