PHP PHP SDK с Graph API

1

Я потратил 2 дня на поиск любых доступных ресурсов для учебника/примера/документа для PHP PHP SDK с помощью Graph API для получения групповой подачи и подачи страницы. Мой вопрос может быть дубликат/похожий на сообщение здесь.

Я прошел через PHP SDK Doc. Меня могут упускать из виду или искать не в том месте. В принципе, я хочу понять:

  1. Как получить групповой/страничный фид из Graph API с помощью PHP SDK
  2. Как получить детали сообщения (включая фотографии) из группы/страницы

Я использую facebook-php-sdk-v4-5.0.0

Теги:
facebook
facebook-graph-api

2 ответа

0
Лучший ответ

Наконец-то я дошел до ответа на свои вопросы. Спасибо всем, что обратили ваше внимание и ответили. Но, пожалуйста, позвольте мне опубликовать свой собственный ответ, поскольку я, наконец, смогу понять это и надеюсь, что это может помочь тем, кто новичок в Graph API, как я.

Я понимаю это, читая MarkDowns из загруженной папки документов API Facebook, как показано ниже:

C:\facebook-PHP-СДК-v4-5.0.0\Docs

Изображение 174551

Ниже приведен фрагмент кода для моего требования:

<?php
require_once( 'Facebook/autoload.php' );

use Facebook\Facebook;
use Facebook\FacebookApp;
use Facebook\FacebookRequest;

$app_id = "appid";
$secret = "secret";
$access_token = "accesstoken";

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

// Create request
// $fbApp = new FacebookApp($app_id, $secret);
// $request = new FacebookRequest($fbApp, $access_token, 'GET', '/GROUPID/posts');

// Alternative request
// $request = $fb->request('GET', '/GROUPID/posts');


// Send the request to Graph
try {
    // $response = $fb->getClient()->sendRequest($request);
    $response = $fb->get('/GROUPID/posts');
} 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;
}

echo "<pre>";
// print_r($response->getDecodedBody());

$decodedBody = $response->getDecodedBody();
$data = $decodedBody['data'];

foreach ($data as $key => $value) {
    try {
        $request = $fb->request('GET', '/'.$value['id'].'?fields=id,message,picture,object_id,attachments');
        $post = $fb->getClient()->sendRequest($request);

    } 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;
    }
    print_r($post);
}

Результат API-интерфейса Graph API

Изображение 174551

2

Использовать PHP SDK v5

Используйте для Group feed этот код

$request = new FacebookRequest(
  $session,
  'GET',
  '/{group-id}/feed'
);
$response = $request->execute();
$graphObject = $response->getGraphObject();

Для использования этой страницы используйте этот код.

$request = new FacebookRequest(
  $session,
  'GET',
  '/{page-id}/feed'
);
$response = $request->execute();
$graphObject = $response->getGraphObject();
  • 0
    Спасибо за ваш код, но это очень общее. Можете ли вы более точно определить, как получить переменную $ session?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню