4

从 Graph API,我有一个状态更新,具有给定的 id。

数据的 REST 端点是

https://graph.facebook.com/xxxxxxx_yyyyyyyyyyyyy

wherexxxxxxx_yyyyyyyyyyy替换为状态更新的 ID。

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

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

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

这不起作用:

http://www.facebook.com/xxxxxxx_yyyyyyyyyyyyyyyyy


回答

感谢 Jashwant的回答

这是您想要的格式:

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/');
4

2 回答 2

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);
于 2012-05-25T18:41:59.963 回答
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 查询...

于 2012-05-25T18:31:00.577 回答