Facebook API,获取页面发布链接(PHP)

时间:2015-07-12 20:29:17

标签: php facebook facebook-graph-api

这里有一些代码:

$facebookUrl = 'https://graph.facebook.com/'.$facebookPageId.'/posts?&access_token='.$facebookAppId.'|'.$facebookAppSecret;
$facebookData = json_decode(curlRequest($facebookUrl))->data;

curlRequest成功返回数据,但数据有限。回复包含以下内容:

  • 消息
  • 故事
  • CREATED_TIME
  • ID

这些不够好,不包括照片(所有这些帖子都有),但更糟糕的是我没有链接带我到帖子。

Twitter使用'https://twitter.com/statuses/'. $post->id;进行重定向Facebook有类似的东西吗?或者更好的是如何获得这些帖子的所有数据?

2 个答案:

答案 0 :(得分:2)

该帖子的链接将是

$facebookUrl = 'https://graph.facebook.com/'.$facebookPageId.'/posts?&access_token='.$facebookAppId.'|'.$facebookAppSecret;
$facebookData = json_decode(curlRequest($facebookUrl))->data;

$link = "http:/fb.com/".$facebookData->id; //This short link will redirect to the pages' post

$facebookData->id由唯一值组成,即" _"之前的部分。 (下划线)描述父级(页面,用户,组,事件)和下划线后面的字符串是其父级的帖子ID。

答案 1 :(得分:0)

除了上面提到的Nishant的有用答案之外,Facebook还有很多其他数据可以作为Post对象的一部分获得,如their docs中所述。但是,默认情况下,它发送的只是

  • 消息
  • 故事
  • CREATED_TIME
  • ID

为了检索任何其他字段,请求必须在查询参数中指定这些字段。例如,如果我希望与帖子关联的picturelink,我会构建我的GET请求:

https://graph.facebook.com/POST_ID?fields=picture,link&access_token=YOUR_TOKEN

我会得到这样的回复:

{
  "link": "http://example.com/link",
  "picture": "https://example.com/picture",
  "id": POST_ID
}

我不知道PHP所以不能给出OP问题的具体语法,但是这应该可以帮到你。