Facebook Open Graph用对象发布动作

时间:2014-07-18 13:07:35

标签: facebook facebook-graph-api facebook-javascript-sdk facebook-opengraph

我正在使用Facebook Open Graph发布故事,为此我正在使用他们的JS SDK。文档在这里:https://developers.facebook.com/docs/opengraph/overview

所以重点是为用户发布:John Smith 倾听 Shakira - Mywebsite上的Lalala。

倾听就是行动 夏奇拉是对象

JS代码将是:

FB.api(
  'me/mynamespace:listen',
  'post',
  {
    song: "http://mywebsite/shakiramusic"
  },
  function(response) {
    // handle the response
  }
);

在此页面中,将使用以下代码指定其他一些信息:

<meta property="og:title"  content="Lalala" /> 
<meta property="og:image" content="wonderShakira.jpeg" />

但是,这是我的问题。想象一下,我想制作一个故事: John Smith正在阅读来自mywebsite上BigBook的第542页

页码变化很大,因此无法在元属性中存储,因为Facebook不会及时刷新它。

所以我想制作类似的东西:

FB.api(
  'me/mynamespace:reading',
  'post',
    {
      object:{
      app_id: 1234567890,
      type: "book",
      url: "http://mywebsite/thebigbook
      title: "The Big Book"
      image: "bigbookcover.png",
      description: "A super book",
      ** page_count:542 **
    }
},
function(response) {
  // handle the response
}
);

但当然它没有用,我得到一个错误。可能是我误解了自定义故事,动作和对象的原理......我希望我的问题很清楚,你就能帮助我。

谢谢:)

1 个答案:

答案 0 :(得分:0)

我得到了答案,这是一个很好的代码:

FB.api(
  'me/mynamespace:reading',
  'post',
    {
      book:{
          app_id: 1234567890,
          type: "book",
          title: "The Big Book"
          image: "bigbookcover.png",
          description: "A super book",
          url: "http://mywebsite/thebigbook
          page_count:542
    }
},
function(response) {
  // handle the response
}
);

有两件事需要考虑:  你需要发送一个对象调用 book 进行阅读,你需要将url参数放在最后,否则,Open Graph将获得元标记中的值。如果你把它放在最后,OG将采用你发送的参数。