【问题标题】:How to retrieve multiple issues on github graphql api (using javascript)?如何在 github graphql api 上检索多个问题(使用 javascript)?
【发布时间】:2017-10-04 05:16:52
【问题描述】:

我想要实现的目标是使用 javascript 在 github 存储库中读取和写入 issueslabels

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

这是我正在使用的代码。

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: 'https://github.com/TonyEdelweiss/hello-world/projects' } } }

第二个我只得到一个 '[Object]' )-:

状态码:200 正文:{数据:{存储库:{问题:[对象]}} }

谁能给个提示?

我还在 github API v4 文档中找到了这一点:“所有 GraphQL 操作都必须将它们的选择指定到返回标量值的字段,以确保得到明确的响应。”这可以解释为什么我没有得到数据,但没有提供进一步的指导。

【问题讨论】:

    标签: javascript api github graphql


    【解决方案1】:

    您的请求实际上运行良好。但是使用console.log 可以查看的最大深度默认为2。您可以使用util.inspect 更改它,将深度设置为null 以查看完整对象:

    const util = require('util');
    
    .....
    
    console.log('Body: ', util.inspect(body, {depth: null}));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-25
      • 1970-01-01
      • 2014-08-27
      • 2017-06-20
      • 2017-06-20
      • 1970-01-01
      • 2018-08-08
      相关资源
      最近更新 更多