【发布时间】:2015-03-13 23:49:51
【问题描述】:
最终,我试图在属于 Facebook 页面所有者的网站上显示公共 Facebook 页面提要。
我正在使用 PHP SDK 4.0 尝试从 graph api v2.2 的页面中提取几篇文章。
我在developers.facebook.com 上设置了一个应用程序,我正在使用应用程序ID 和应用程序密码来设置默认应用程序。
我下面用来获取访问令牌的方法返回应用访问令牌。
// Skip these two lines if you're using Composer
define('FACEBOOK_SDK_V4_SRC_DIR', __ROOT__.'/facebook/src/Facebook/');
require __ROOT__ . '/facebook/autoload.php';
session_start();
use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\GraphPage;
use Facebook\FacebookRequestException;
use Facebook\FacebookRedirectLoginHelper;
$page_id = "pageID";
$app_id = "appID";
$app_secret = "appSecret";
FacebookSession::setDefaultApplication( $app_id, $app_secret );
// Get access token
$access_token = file_get_contents("https://graph.facebook.com/oauth/access_token?client_id={$app_id}&client_secret={$app_secret}&grant_type=client_credentials");
$access_token = substr($access_token, strpos($access_token, "=") + 1);
// Start new session
$session = new FacebookSession("$access_token");
// Get the GraphUser object for the current user:
try {
$request = new FacebookRequest($session, 'GET', "/{$page_id}/posts");
$response = $request->execute();
$graphObject = $response->getGraphObject();
var_dump($graphObject);
} catch (FacebookRequestException $e) {
echo $e;
// The Graph API returned an error
} catch (\Exception $e) {
// Some other error occurred
}
我的代码和在 URL 中输入这些信息
https://graph.facebook.com/v2.2/pageID/feed?access_token=accessToken
返回
{
"data": [
]
}
有人知道为什么数据集是空的吗? 如何在不要求网站访问者进行身份验证的情况下获取页面的公开帖子?
【问题讨论】:
标签: php facebook facebook-graph-api facebook-php-sdk