![](/img/trans.png)
[英]How to use Github API v4 (graphql) with javascript XMLHttpRequest
[英]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.