Jquery (jfeed) - Origin xxxxx is not allowed by Access-Control-Allow-Origin

落爺英雄遲暮 提交于 2019-12-12 05:47:43

问题


I'm using jFeed to try to retrieve a Facebook page's RSS feed. I can manually navigate to the RSS just fine (https://www.facebook.com/feeds/page.php?format=atom10&id=12345) but when I try to use the following code, I end up with the error "Origin xxxxx is not allowed by Access-Control-Allow-Origin."

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

I'm assuming this is due to it requiring OAuth 2.0, but I really need a "silent" solution so people don't have to have a Facebook account or interact with Facebook in any way.


回答1:


You might take a look at https://github.com/dawanda/jquery-rss. It's using google's feed API.




回答2:


Just got it working!!! I'm using the app ID and secret code to get the access_token and then using the jquery getJSON method to get the data. Works like a charm, no facebook auth required!!!

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
            });
        });
    });
};

Obviously you'd want to do something besides "alert", but it works. Quite simple compared to anything else I've found.



来源:https://stackoverflow.com/questions/10058564/jquery-jfeed-origin-xxxxx-is-not-allowed-by-access-control-allow-origin

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!