jQuery从Facebook获取JSON提要

时间:2013-01-11 17:27:07

标签: jquery ajax facebook json jsonp

我正试图从Facebook页面获取一些json feed。这是我的代码:

var myurl = "https://www.facebook.com/feeds/page.php?id=111222778066&format=json";
$.ajax({
    url: myurl,
    type: 'GET',
    dataType: "jsonp",
    success: function(json){
      ...
    }
});

问题是我一直收到这个错误:(在page.php:2中)

Uncaught SyntaxError: Unexpected token : 

非常感谢任何帮助...

2 个答案:

答案 0 :(得分:0)

这是在尝试查询页面的RSS源。 RSS源正式被弃用。根据页面创建日期的不同,有些页面仍然存在,但您不能依赖它们,也不能检测它们是否存在。

此页面似乎有一个Feed - 现在,因为URL返回数据。

您的错误是语法错误。看看你的控制台,看看它来自哪一行。无法保证意外冒号位于您发布的代码段中。

为了将来证明您的脚本,您最好的办法是创建一个应用程序,并通过此API通过Graph API查询页面:

https://graph.facebook.com/111222778066/feed?access_token=YOUR_APP_ACCESS_TOKEN

如果您作为应用进行身份验证,则可以获得永久访问令牌。使用JavaScript SDK将为您自动执行此过程。

这些文章可以帮助您入门:

答案 1 :(得分:0)

不像@cpilko提到的那样,RSS Feed被弃用也不是问题。您的问题是,Facebook Feed不支持,它依赖于加载数据网址,因为javascript包含回调,而只返回普通。相反,您需要通过其他内容代理Feed,例如您自己的后端或googles feed api:

<script>
  function jsapi_loaded(){
    google.load("feeds", "1");

    function initialize() {
      var feed = new google.feeds.Feed(
        "https://www.facebook.com/feeds/page.php?format=rss20&id=111222778066"
      );
      feed.setNumEntries(10);
      feed.load(function(result) {
        if (!result.error) {
          console.log(result);
        }
      });
    }
    google.setOnLoadCallback(initialize);
  }
</script>
<script src="https://www.google.com/jsapi?callback=jsapi_loaded" async></script>