2012-01-03 7 views
0

私はキャンバスの参加グラフをgithubのようにレンダリングする簡単なウィジェットを作成しています。githubの参加情報へのXHRアクセス

これは、ウィジェットが素晴らしい作品と基本的に行われているhttp://github.com/[user]/[repo]/graphs/participation

でデータを使用しています。私が持っている唯一の問題は、上記のリンクからXHRを介してjsonデータを取得しようとするときです(私が行ったようにウィジェットにコピーして貼り付けるのではなく)、私は同じオリジナルのアクセス制御問題に遭遇します。

この情報には、XHRまたは一部の非表示のgithub API機能を介してアクセスする方法はありますか?

+0

の線に沿って何かを消費することができます。あなたはプロキシサーバー側を作成する必要があります – circusbred

答えて

1

GithubはJSONPとCORSAPIでサポートしていると思います。また、サーバー側のプロキシーをセットアップすることもできます。サーバー側のプロキシーは、XHR要求が同じ起点ページに送信され、サーバー側の要求がGithubに送信されます。


プロキシについてのご質問にお答えするには、非常に簡単です。私は実際にPythonとTornadoを使用して約2年前にこの正確なことを行っていました。私はこれがPHPではないことを認識していますが、それがどのように動作するかについてのアイデアを提供するために、英語には十分近いものです。この特定のプロキシは生の要点を返していました。

# /proxy/gist 
class GetGistHandler(BaseHandler): 
    def get(self, id, filename): 
     url = 'http://gist.github.com/raw/%s/%s' % (id, urllib.quote(filename)) 
     resp = urlfetch.fetch(url) 
     self.finish(resp.content) 

それから、あなたは、このクライアント側の周りに取得することはできません

$.ajax({ 
    url: '/proxy/gist', 
    dataType: 'JSON', 
    data: { 
     id: $('#id').val(), 
     filename: $('#filename').val() 
    }, 
    success: function(json) { 
     // ... 
    } 
}); 
+0

プロキシ取引のために、XHR GETでヒットすると、ターゲットのgithubページを指定して追加するいくつかの追加パラメータを解釈する単純なPHPスクリプトを作成します要求、その後結果を吐く? –

+1

@ user1022241私はいくつかのサンプルコードを含めるように私の答えを編集しました –

+0

パーフェクト、それは働いて、あなたの助けを感謝 –

関連する問題