Получить сообщения, которые были созданы в течение последних 24 часов на странице Facebook, используя php SDK 4

Facebook в версиях после 2.0 больше не будет поддерживать FQL.
Так что вместо этого я должен перейти с FQL на график API.

Мой старый код FQL ..

SELECT source_id,post_id,message,like_info.like_count,comment_info.comment_count,share_info.share_count,permalink,created_time,attachment.media FROM stream WHERE source_id = "--page_id--" AND actor_id = "--page_id--" AND created_time>--time_start-- AND created_time<--time_end-- ORDER BY like_info.like_count DESC

и это мой код API api с использованием phpsdk4, который передается из кода fql выше, и он не завершен (потому что я не знаю, как сделать следующий шаг).

require_once 'facebookphpsdk4/autoload.php';
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\Entities\AccessToken;
use Facebook\HttpClients\FacebookCurlHttpClient;
use Facebook\HttpClients\FacebookHttpable;

$access_token = 'xxx|yyy';
FacebookSession::setDefaultApplication( 'xxx','yyy' );
$session = new FacebookSession($access_token);
$request = new FacebookRequest(
$session,
'GET',
'/page_id?fields=posts{id,shares,message,likes.summary(true),comments.summary(true)}'
);
$response = $request->execute();
$graphObject = $response->getGraphObject()->asArray();

Я нуждаюсь ….

  • постоянная ссылка
  • пост вложения изображений большого размера
  • отфильтровать период времени (созданный за последние 24 часа)
  • заказать по (DESC) количеству лайков или по заказу созданного времени

Как я могу получить все это без использования FQL?
Спасибо за ваш ответ.

0

Решение

Есть несколько проблем с получением того же результата с помощью API Graph вместо FQL:

  • Нет никаких permalink поле
  • Вы не можете явно указать attachments быть большим
  • Вы не можете применить заказ. Порядок по умолчанию должен быть created_time хоть

Чтобы указать временной фильтр, вы можете использовать параметры URL since а также until:

GET /{page_id}/posts?fields=id,message,shares,object_id,likes.summary(true),comments.summary(true),attachments{media}&since=1423440000&until=1423526399

Это должно дать вам все сообщения за сегодня для конкретной страницы.

Вы могли бы создать permalink объединяя imho:

https://www.facebook.com/{page_id}/posts/{object_id}

Увидеть:

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]