簡體   English   中英

如何在github graphql api上檢索多個問題(使用javascript)?

[英]How to retrieve multiple issues on github graphql api (using javascript)?

我要實現的目標是使用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',名稱:'hello-world',projectsUrl:' https : //github.com/TonyEdelweiss/hello-世界/項目 '}}}

在第二個我只得到'[Object]')-:

狀態碼:200正文:{數據:{儲存庫:{問題:[對象]}}}

有人可以提示嗎?

我也在github API v4文檔中發現了這一點:“所有GraphQL操作必須指定其選擇,直到返回標量值的字段為止,以確保響應的形式明確。” 這也許可以解釋為什么我沒有得到數據,但是沒有給出進一步的指導。

您的請求實際上工作正常。 但是,您可以使用console.log查看的最大深度默認為2。您可以使用util.inspect進行更改,將depth設置為null可以查看整個對象:

const util = require('util');

.....

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM