使用Facebook PHP SDK v5获取页面相册列表


Get list of Page Albums using Facebook PHP SDK v5

我想使用Facebook PHP SDK v5来获取一个页面的相册列表。

我正在按照https://developers.facebook.com/docs/graph-api/reference/v2.4/page/albums上的说明,如下所示:

/* PHP SDK v5.0.0 */
/* make the API call */
$request = new FacebookRequest(
  $session,
  'GET',
  '/{page-id}/albums'
);
$response = $request->execute();
$graphObject = $response->getGraphObject();
/* handle the result */

然而,这似乎是不正确的,因为在FacebookRequest类中没有"execute"函数。

此外,还需要将access_token作为第二个变量传递给FacebookRequest构造。

完整代码如下:

require_once("classes/Facebook/autoload.php");
use Facebook'Facebook;
use Facebook'FacebookApp;
use Facebook'FacebookRequest;
$config = array();
$config['app_id'] = '{app_id}';
$config['app_secret'] = '{secret}';
$config['default_graph_version'] = 'v2.4';
$fb = new Facebook($config);
$app= new FacebookApp($config['app_id'],$config['app_secret']);
$request=new FacebookRequest($app,"{access_token}",'GET','/{page_id}/albums');
$response = $request->execute();
$graphObject = $response->getGraphObject();
print_r($graphObject);

这只会产生

致命错误:调用未定义方法Facebook ' FacebookRequest: execute ()

谁能告诉我正确代码的方向?

查看文档

    https://developers.facebook.com/docs/php/FacebookRequest/5.0.0概述gh>
  • https://developers.facebook.com/docs/php/gettingstarted/5.0.0发出请求

示例代码:

$fbApp = new Facebook'FacebookApp('{app-id}', '{app-secret}');
$request = new Facebook'FacebookRequest($fbApp, '{access-token}', 'GET', '/{page_id}/albums');
// OR
$fb = new Facebook'Facebook(/* . . . */);
$request = $fb->request('GET', '/{page_id}/albums');
// Send the request to Graph
try {
  $response = $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;
}
$graphNode = $response->getGraphNode();
print_r($graphNode);