2012-02-14 25 views
5

GitHubリポジトリでホストされているファイルの内容を取得する必要があります。 JSONレスポンスをメタデータとともに取得することをお勧めします。私は多くのURLをcURLで試してみたところ、{"message":"Not Found"}という応答しか得られませんでした。 URL構造が必要です。それが重要なのであれば、GitHubの組織のものです。ここで私は動作するはずだと思うものですが、しません:GitHub API経由でファイルを取得する方法

http://api.github.com/repos/<organization>/<repository>/git/branches/<branch>/<file> 
+1

http://stackoverflow.com/questions/9240961/github-jsonp-source-code-api/9241535#9241535 – nulltoken

+0

JSONレスポンスのリクエストは3回ありますか?良い芝生。まったく直感的ではありません。確かによりエレガントな方法があります。 –

+0

これはおそらくAPIの最も弱い部分の1つです。 Trees APIを使用して構造体をナビゲートすることができます(ドキュメントのGitデータ)。それを使用するには、あなたはシャーが必要です。あなたはレポの枝からそれを掘ることができます。おそらく、raw.github.comをこのように使用する方が簡単でしょうか? raw.github.com/:user/:repo/:branch/:filename。これらの2つの方法を簡単に組み合わせて、ファイルが存在するかどうかを判断してからフェッチすることができます。 –

答えて

11

http://developer.github.com/v3/repos/contents/に位置)の記述が言うように:

/レポ/:所有者/:レポ/内容/:パス

アンをAJAXコードは次のようになります

$.ajax({ 
    url: readme_uri, 
    dataType: 'jsonp', 
    success: function(results) 
    { 
     var content = results.data.content; 
    }); 

は/適切/レポによりreadme_uriを交換:オーナー/:レポ/コンテンツ/:パス。

+0

これは新しいですか?私は尋ねたとき、これがここにないと誓っています。私はこれについてdevのページ全体を見渡した。ありがとう。 GitHubのは、ファイルの内容をBase64でエンコードして送信しているよう –

+2

が... – taseenb

+9

@taseenbが使用ルックス 'ます。https://raw.githubusercontent.com/:所有者/:レポ/マスター/:PATH'を取得するには、生の(バイナリではなく、Base64で) –

関連する問題