从 API 获取 Link 到 Facebook post

Get Link to a Facebook post from API

我正在努力从这样的 API 调用中将 link 发送到 Facebook post:

https://graph.facebook.com/v2.2/807247516000935/posts?access_token={TOKEN}

对于大多数 post,我可以用 "www.facebook.com/" + item.getId() 创建 link,但有时这种 link 不起作用。是否有关于如何创建始终有效的 link 的规则?我感觉大多数不起作用的 link 是 post,其中包含 link 到 Facebook post 或页面。

感谢您的帮助!

这里涉及的案例:

  1. 使用link

    如果您使用 link (www.facebook.com/{POST_ID}) 查看 post,只有隐私设置允许当前用户才能看到 post看到了post。例如:

    • 如果隐私设置设为PUBLIC,任何人都可以看到post和link
    • 如果隐私设置设置为 ONLY ME,则没有人可以看到 post 和 link 等。
  2. 使用图 API

    除非 post 没有被删除,否则您可以使用 (graph.facebook.com/{POST_ID}?access_token={ACCESS_TOKEN}) 查询 post 的详细信息,无论隐私设置如何。

注意:如果一个post被用户删除,显然你不会通过任何方式得到post的任何细节


----编辑----

区分`照片`和`状态`/`link`

当我们希望 post link 或状态消息时,Graph API 将其视为 feed\POST /feed是用来post的。

而且,如果我们想要 post 一张照片,则使用 \POST /photos

但是如果我们想使用 \GET /<ID>/feed 获得 posts,它会为我们提供 all 时间线 posts posts [= =46=]link 或 状态照片

现在,如果您仔细观察,提要结果有一个键 type,它告诉您它是 link 还是状态或照片。此外,如果它是一张照片,API 会为您提供另一个参数:object_id 应该用于获取该照片的 link。

所以-

if type="photo"
   link="http://facebook.com/{object_id}"
else
   link="http://facebook.com/{id}"