XHR доступ к информации об участии в github - PullRequest
0 голосов
/ 03 января 2012

Я пишу простой виджет, который отображает граф участия холста точно так же, как на github.

Он использует данные в http://github.com/[user]/[repo]/graphs/participation

Виджет работает отлично и в основном готов.Единственная проблема, с которой я сталкиваюсь, - это когда я пытаюсь получить данные json по вышеуказанной ссылке через XHR (а не просто копировать и вставлять в виджет, как я это делал), я сталкиваюсь с той же проблемой контроля доступа к источнику.

Можно ли вообще как-то получить доступ к этой информации, либо через XHR, либо через какую-то скрытую функцию github api?

1 Ответ

1 голос
/ 03 января 2012

Я считаю, что Github поддерживает JSONP и CORS через API .Вы также можете настроить прокси на стороне сервера, с помощью которого запросы XHR отправляются на страницу того же источника, которая затем выполняет запрос на стороне сервера к Github.


Чтобы ответить на ваш вопрос о прокси,да это очень простоЯ на самом деле сделал это точно два года назад, используя Python и Tornado.Я понимаю, что это не 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) {
        // ...
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...