【问题标题】:Jquery (jfeed) - Origin xxxxx is not allowed by Access-Control-Allow-OriginJquery (jfeed) - Access-Control-Allow-Origin 不允许来源 xxxxx
【发布时间】:2012-04-20 23:04:44
【问题描述】:

我正在使用jFeed 尝试检索 Facebook 页面的 RSS 提要。我可以手动导航到 RSS 就好了 (https://www.facebook.com/feeds/page.php?format=atom10&id=12345) 但是当我尝试使用以下代码时,我最终得到错误 “Access-Control-Allow-Origin 不允许Origin xxxxx。”

jQuery.getFeed({
    url: 'https://www.facebook.com/feeds/page.php?format=atom10&id=12345',
    success: function (feed) {
        alert(feed.title);
    }
});

假设这是因为它需要 OAuth 2.0,但我确实需要一个“静默”解决方案,这样人们就不必拥有 Facebook 帐户或以任何方式与 Facebook 互动.

【问题讨论】:

    标签: javascript jquery oauth facebook-opengraph atom-feed


    【解决方案1】:

    刚刚开始工作!!!我正在使用应用程序 ID 和密码来获取 access_token,然后使用 jquery getJSON 方法来获取数据。像魅力一样工作,无需 facebook 身份验证!!!

    appID = '' //myappid
    secretCode = '' //app "secret code"
    authURL = 'https://graph.facebook.com/oauth/access_token?client_id=' + appID + '&client_secret=' + secretCode + '&grant_type=client_credentials'
    feedURL = 'https://graph.facebook.com/' + appID + '/feed?'
    
    function getFeed() {
        $.get(authURL, function (accessToken) {
            $.getJSON(feedURL + accessToken, function (data) {
                $.map(data.data, function (item) {
                    alert(item.message);
                    //type: status, photo
                    //likes.count
                    //from.name
                    //created_time
                });
            });
        });
    };
    

    显然,除了“警报”之外,您还想做一些事情,但它确实有效。与我发现的其他任何东西相比都非常简单。

    【讨论】:

    • 仅供参考,这在 Chrome 和 FF 中效果很好,但我在 IE 中遇到了跨域和安全问题。
    【解决方案2】:

    你可以看看https://github.com/dawanda/jquery-rss。它使用的是 google 的 feed API。

    【讨论】:

      猜你喜欢
      • 2013-02-05
      • 2011-10-27
      • 1970-01-01
      • 2021-10-09
      相关资源
      最近更新 更多