我正在尝试向githubs graphql api(v4)发送http请求。我猜我的查询格式是错误的。下面的代码用于向api发送post请求。
app.get('/fetch-data', function(req, res, next) {
const access_token = settings.dev.TOKEN;
const query = {query: { viewer: { 'login': 'muckbuck' } }};
const options = {
uri: 'https://api.github.com/graphql',
method: 'POST',
headers: {
'Accept': 'application/json',
'Authorization': "Bearer " + access_token,
'User-Agent': 'request',
'contentType': "application/graphql",
},
data: query
};
function callback(error, response, body) {
console.log(response.body)
if (!error && response.statusCode == 200) {
console.log(body);
console.log('lol');
}
}
request(options, callback);
});
我收到的错误消息:
{"message":"Problems parsing JSON","documentation_url":"https://developer.github.com/v3"}
最佳答案
我相信您的graphql格式不正确,因为query
键应该包含一个字符串,而不是一个复杂的结构。另请参见github api文档中的this example。
您也可以按照GraphQL introduction的建议将Content-Type
设置为application/json
。application/graphql
似乎不是graphql的aregistered media type和alter the behaviour。
关于json - 在将HTTP请求发送到graphql api时出现“问题解析JSON”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45566784/