Facebook图表- Ajax / JSON显示url '份额'

Facebook graph - Ajax / JSON showing url 'shares'

本文关键字:url 份额 显示 JSON 图表 Ajax Facebook      更新时间:2023-09-26

我是使用JSON的新手,很难掌握从对象中检索数据并打印到HTML。基本的要求是,我检索url共享计数从facebook这显然是它的公共数据,我不需要乱搞访问令牌。

我的脚本到目前为止

$.ajax(
  {
  url: 'http://graph.facebook.com/?ids=http://google.co.uk',
  success: function(json)
    {
      console.log(json); 
    }       
});  

在控制台中以对象的形式返回以下内容。

[object Object] {
 http://google.co.uk: [object Object] {
 comments: 5,
 id: "http://google.co.uk",
 shares: 321364
 }
}

所以我可以看到'共享'数据在那里,但我如何访问它并打印到一个div?我试过像这样把它附加到' shacount 'div

jQuery(response_container).append('<div id="sharecount">Shares: ' + shares + '</div>');

但我只是在黑暗中摸索,可以使用一些指导。这方面的大多数指南似乎都过时了,建议使用旧的FQL方法。

如果有人想同情我,我这里有一个JSBIN !

http://jsbin.com/qinutanotu/edit?html、控制台、输出

感谢

更新

我现在把它改成了这个

  <script>
   $.ajax(
   {
   url: 'http://graph.facebook.com/?ids=http://google.co.uk',
   success: function(json)
    {
      var urlshares = (json['http://google.co.uk'].shares)
      $("#sharecount").append(urlshares);
    }       
   });    
  </script>
  <div id="sharecount"></div>
更新# 2

graph.facebook.com似乎有时不返回'股份',这可能是与没有股份为该url。它不是返回'0',而是什么也不返回。为了解决这个问题,我已经用html代替了append,并给了div一个默认值0,如果url有一个份额计数传递回来,该值将被替换

  <script>
   $.ajax(
   {
   url: 'http://graph.facebook.com/?ids=http://google.co.uk',
   success: function(json)
    {
      var urlshares = (json['http://google.co.uk'].shares)
      $("#sharecount").html(urlshares);
    }       
   });    
  </script>
  <div id="sharecount">0</div>

Facebook在这里使用URL作为键,因此您需要json['http://google.co.uk']首先访问内部对象,然后json['http://google.co.uk'].shares访问shares值。

(http://google.co.uk包含的字符使得不可能使用点表示法使用该键访问属性,因此这里必须使用['http://google.co.uk'])