2017-10-03 5 views
1

私が達成したい目標は、の問題のラベルを、javascriptを使用してgithubリポジトリ内に読み込んで、後で書き込むことです。github graphql apiで複数の問題を取得するにはどうすればいいですか?

これまでのところ、私は認証を取得してリポジトリ上のデータを取得することができましたが、データを1つだけでなく、一連の問題で取得する方法もありません。

これは私が使用しているコードです。最初makeRequest(オン

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

)私は大丈夫である、以下を得る:

ステータスコード:200ボディ:{データ:{リポジトリ: {createdAt:「2017-09-29T17を:01:25Z」、 名:「こんにちは、世界、 projectsUrl: 'https://github.com/TonyEdelweiss/hello-world/projects [オブジェクト] ')'}}}

私は取得のみTE秒1オン' - :

ステータスコード:200ボディ:{データ:{リポジトリ:{問題:[オブジェクト]}}}

誰でもヒントを与えることができますか?

また、私はgithub API v4のドキュメントでこれを見つけました。「すべてのGraphQL操作では、明白な形の応答を保証するためにスカラー値を返すフィールドにそれらの選択肢を指定する必要があります。これはデータを取得していない理由を説明するかもしれませんが、それ以上のガイダンスはありません。

答えて

0

ご要望は実際にうまくいきます。私の問題を解決した

const util = require('util'); 

..... 

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

どうもありがとうベルトラン、:しかし、あなたはあなたがそれを変更するutil.inspectを使用することができます。2.にconsole.logデフォルトを使用して表示できる最大深さは、完全なオブジェクトを表示するnullに深さを設定します。 –

関連する問題