6

小さなWebアプリにgithub apiを使用していますが、ある時点でページネーションのリンクヘッダーを取得する必要があります。

最終的な目標は、リポジトリごとのコミットの総数を取得することです。そのpython スクリプトを見つけて、それを JavaScript に適応させようとしました。

getData = $.getJSON('https://api.github.com/repos/'+user+'/'+repo+'/commits?callback=?', function (commits){

    console.log(getData.getResponseHeader('link'))
    // will return null

    console.log(getData.getAllResponseHeaders('link'))
    // will return an empty string

    console.log(commits)
    // will successfuly return my json
});

userそしてrepo、それぞれユーザー名と彼のレポ名です

これは Github ページ用なので、JavaScript しか使用できません。

4

2 に答える 2

5

JSONP コールバックの使用については、GitHub API ドキュメントを参照してください: http://developer.github.com/v3/#json-p-callbacks

基本的に、JSONP を使用して API を呼び出す場合、ヘッダーは取得されませんが、Link代わりに応答 JSON ドキュメント (つまり本文) で同じ情報が取得されます。以下は API ドキュメントの例です。オブジェクトのLinkプロパティに注意してください。meta

$ curl https://api.github.com?callback=foo

foo({
  "meta": {
    "status": 200,
    "X-RateLimit-Limit": "5000",
    "X-RateLimit-Remaining": "4966",
    "Link": [ // pagination headers and other links
      ["https://api.github.com?page=2", {"rel": "next"}]
    ]
  },
  "data": {
    // the data
  }
})
于 2013-01-05T09:12:23.907 に答える