如何在github GraphQLAPI上检索多个问题(使用javascript)?
我想要实现的目标是使用javascript在github存储库中读取和稍后写入问题和标签 到目前为止,我已经能够通过身份验证并检索存储库中的一些数据,但我找不到检索单个问题或一组问题数据的方法 这是我正在使用的代码如何在github GraphQLAPI上检索多个问题(使用javascript)?,javascript,api,github,graphql,Javascript,Api,Github,Graphql,我想要实现的目标是使用javascript在github存储库中读取和稍后写入问题和标签 到目前为止,我已经能够通过身份验证并检索存储库中的一些数据,但我找不到检索单个问题或一组问题数据的方法 这是我正在使用的代码 var request = require("request"); var url = 'https://api.github.com/graphql'; var headers = { Authorization:'token XXXXXXXXXXXXXXXXXXXXXX
var request = require("request");
var url = 'https://api.github.com/graphql';
var headers = {
Authorization:'token XXXXXXXXXXXXXXXXXXXXXXXXXXX',
Accept: 'application/json',
'User-Agent': 'request',
'Content-Type': 'application/json'
};
var options = {
method: 'post',
body: undefined,
json: true,
url: url,
headers: headers
};
function makeRequest(options){
request(options, function (error, response, body) {
if (error) {
console.error('error posting json: ', error);
throw error;
}
var responseHeaders = response.headers;
var statusCode = response.statusCode;
console.log('Status code: ', statusCode);
console.log('Body: ', body);
});
};
options.body = {
query: '{repository(owner:"TonyEdelweiss", name:"hello-world") {createdAt name projectsUrl}}'
};
makeRequest(options);
options.body = {
query: '{repository(owner:"TonyEdelweiss", name:"hello-world"){issues(first: 2){edges{cursor node{id}}}}}'
};
makeRequest(options);
在第一个makeRequest()中,我得到了以下内容,这是可以的:
状态代码:200正文:{数据:{存储库:
{createdAt:'2017-09-29T17:01:25Z',
名字:“你好,世界”,
projectsUrl:“}}”
在第二个屏幕上,我只看到一个“[对象]”)-:
状态代码:200正文:{data:{repository:{issues:[Object]}
}
有人能给个提示吗
我在github API v4文档中也发现了这一点:“所有GraphQL操作都必须将其选择指定为返回标量值的字段,以确保形成明确的响应。”这可能解释了为什么我没有获得数据,但没有提供进一步的指导。您的请求实际上运行良好。但是您可以使用
console.log查看的最大深度默认为2。您可以使用来更改它,将深度设置为null
以查看完整对象:
const util = require('util');
.....
console.log('Body: ', util.inspect(body, {depth: null}));
你的请求实际上很有效。但是您可以使用console.log查看的最大深度默认为2。您可以使用来更改它,将深度设置为null
以查看完整对象:
const util = require('util');
.....
console.log('Body: ', util.inspect(body, {depth: null}));