Я пытаюсь отобразить последние групповые сообщения из общедоступной группы на своем веб-сайте, и я использую следующий код для отображения необработанных данных, который работает нормально.
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’], но когда я пытаюсь отобразить дату, используя $ content [‘updated_time’], код просто останавливается, как поле не существует Я также пытался привести к дате, используя strtotime и новый DataTime, но это просто создает пустую дату.
Так что я делаю не так? Ясно, что есть поле с именем updated_time, и оно явно имеет значение, так почему я не могу извлечь данные?
updated_time
ключ в этом массиве является DateTime
объект, посмотрите на GraphGroup
учебный класс. Вы можете просто сделать $group = $response->getGraphGroup()
а потом var_dump($group)
чтобы увидеть ответ в лучшем формате.
Других решений пока нет …