Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在github GraphQLAPI上检索多个问题(使用javascript)?_Javascript_Api_Github_Graphql - Fatal编程技术网

如何在github GraphQLAPI上检索多个问题(使用javascript)?

如何在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

我想要实现的目标是使用javascript在github存储库中读取和稍后写入问题标签

到目前为止,我已经能够通过身份验证并检索存储库中的一些数据,但我找不到检索单个问题或一组问题数据的方法

这是我正在使用的代码

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}));