获取状态项的html页面链接

时间:2012-05-25 18:24:31

标签: facebook facebook-graph-api status

在Graph API中,我有一个状态更新,具有给定的ID。

数据的REST端点是

  

https://graph.facebook.com/xxxxxxx_yyyyyyyyyyyyy

其中xxxxxxx_yyyyyyyyyyy被状态更新的ID替换。

GET-ing给了我一个很好的JSON数据包来描述状态。

现在,如果我想为人类提供查看状态更新的链接怎么办?

状态更新的常规html页面是什么?

这不起作用:

  

http://www.facebook.com/xxxxxxx_yyyyyyyyyyyyyyyyy


ANSWER

感谢Jashwant the answer

这是您想要的格式:

  

http://www.facebook.com/xxxxxxx/posts/yyyyyyyyyyyyyyyyy

...其中xxxxxx被作者ID替换,yyyyyyyy表示帖子ID。

这是我使用的代码。在此代码中,item.id拥有xxxxxxxx_yyyyyyyyyyyyyyy

var permalink = 'http://www.facebook.com/' +
        item.id.replace('_', '/posts/');

2 个答案:

答案 0 :(得分:3)

如果你有story_id(或post_id)并且想要跳过查询facebook api的开销,你可以将story_id拆分为_

第一部分是用户的id,第二部分是帖子的id。

在javascript中,

var story_id = "1137725463_413359962029143";
var story_id_split = story_id.split('_');
var user_id = story_id_split[0];
var post_id = story_id_split[1];

var permanent_link = "http://www.facebook.com/" + user_id + "/posts/" + post_id;
console.log(permanent_link);

答案 1 :(得分:1)

查看来自https://graph.facebook.com/XXX_YYY

的结果来电
{
  "id": "XXX_YYY", 
  "from": {
    "name": "Lix", 
    "id": "XXX"
  }, 
  "message": "Hello Stack Overflow... how do you do?", 
  "actions": [
    {
      "name": "Comment", 
      "link": "https://www.facebook.com/XXX/posts/YYY"
    }, 
    {
      "name": "Like", 
      "link": "https://www.facebook.com/XXX/posts/YYY"
    }
  ], 
  "privacy": {
    "description": "Friends; Except: Restricted", 
      {
  ...

actions数组的两个元素包含指向Facebook上实际帖子的链接。

通过使用Graph API Explorer,您可以非常轻松地查看可以访问的数据。您可以浏览API并查看作为开发人员的确切内容,甚至测试FQL查询......