Получите сообщения на странице Facebook в Wordpress с помощью JS SDK или PHP SDK - PullRequest
0 голосов
/ 08 ноября 2019

Я хочу получить сообщения со страницы Facebook и показать их на сайте Wordpress.

Во-первых, я попробовал использовать JavaScript SDK и преуспел, но не смог понять, как вызвать токен доступа. со стороны сервера.

Во-вторых, я пытался с PHP SDK, но не могу заставить его работать, независимо от того, что я пытаюсь.

Я был над документацией такмного раз я потерял счет. Это просто не имеет смысла для меня.

Это PHP, где я сейчас нахожусь:

require_once( 'out-fb/src/Facebook/autoload.php' );

$app_id = "{app-id}";
$secret = "{app-secret}";
$access_token = "{access-token}";

$fb = new Facebook([
  'app_id' => $app_id,
  'app_secret' => $secret,
  'default_graph_version' => 'v5.0',
  'default_access_token' => $access_token
  ]);

try {
    // $response = $fb->getClient()->sendRequest($request);
    $response = $fb->get('/{page-id}}/posts?fields=message,full_picture,created_time&limit=5');
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  // When Graph returns an error
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  // When validation fails or other local issues
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}

Я точно не знаю, как перевести JSON и получитькод моего внешнего интерфейса, но даже сейчас я получаю сообщение от WP, в котором говорится: «Сайт испытывает технические трудности».

Если кто-то может мне помочь с помощью PHP SDK или, возможно, покажет мне, как разместить access_tokenна стороне сервера с JS SDK, я был бы очень благодарен!

Заранее спасибо.

1 Ответ

0 голосов
/ 09 ноября 2019

Так что я понял это.

Я до сих пор точно не знаю, как я это сделал, но вы можете увидеть здесь, что в итоге сработало для меня.

Я думаю, что это сломалоиспользуя $fb = new Facebook([ вместо $fb = new Facebook\Facebook([

<?php

require_once 'out-fb/src/Facebook/autoload.php';

$app_id = "{app-id}";
$app_secret = "{app-secret}";
$access_token = "{access_token}";

$fb = new Facebook\Facebook([
  'app_id' => $app_id,
  'app_secret' => $app_secret,
  'default_graph_version' => 'v5.0',
  ]);

$response = $fb->get('/{page-id}/posts?fields=message,full_picture,created_time&limit=5', $access_token);

$node = $response->getGraphEdge();

echo $node->getField('3')[message];

...