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





импортировать ApolloClient из apollo-boost;
Я пытался применить конфигурацию для клиента apollo-client к клиенту apollo-boost
Вы используете в своем запросе заголовок Content-Type: application / json?