【发布时间】:2016-07-05 02:20:51
【问题描述】:
我正在尝试在我的网站上显示来自公共群组的最新群组帖子,并且我正在使用以下代码来显示原始数据,效果很好。
try {
$response = $fb->get('25366400942/feed?fields=message,updated_time,from');
$graphEdge = $response->getGraphEdge();
} catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
foreach ($graphEdge as $content){
echo $content . "<br><br>";
}
使用上面的代码,我得到如下内容:
{"message":"This is a Facebook group message.","updated_time":"2016-01-10T11:27:09+0000","from":{"name":"John Doe","id":"10208143097521312"},"id":"25366400942_10153729825005943"}
我的问题是在尝试格式化输出时。我可以使用 $content['message'] 和 $content['id'] 轻松显示消息和 ID,但是当我尝试使用 $content['updated_time'] 显示日期时,代码会停止,就像该字段一样不存在。我还尝试使用 strtotime 和 new DataTime 转换为日期,但这只会创建一个空日期。
那么我做错了什么?明明有一个叫updated_time的字段,明明是有值的,为什么不能提取数据呢?
【问题讨论】:
-
你管理这个组吗?我敢肯定,未经所有群组成员的许可,您不得仅在其他地方显示群组供稿。未经我的许可,我不希望我的群组帖子出现在其他地方。我很确定 facebook 迟早会消除这种可能性,它实际上应该在 user_groups 权限下消失。
-
是的,我管理这个小组。基本上,该群组和网站是针对当地小型体育俱乐部的,每个人都可以在 facebook 上查看帖子,但您必须是该群组的成员才能发帖。我们目前的网站上已经有一个类似的功能,但它是由 Wordpress 处理的,我不知道代码是什么样的。
标签: php facebook-php-sdk facebook-graph-api-v2.4