获取Facebook页面评论和评级

时间:2016-04-05 13:07:47

标签: php facebook facebook-graph-api

我创建了一个Facebook应用程序,并批准该应用程序访问manage_pages.I我正在寻找PHP代码从页面获取页面访问以获取页面信息。

要获得评论和评分,我使用以下代码



require 'facebook-php-sdk-master/src/facebook.php';



$config = array();
$config['appId'] = '1489047331XXXXX';
$config['secret'] = '6ac210360aad27ab1044e4201XXXX';

$facebook = new Facebook($config);

print_r($facebook);

try {
	// 466400200079875 is Facebook id of Fan page https://www.facebook.com/pontikis.net
	$ret = $facebook->api("/page_id/ratings?field=open_graph_story", 'GET');
	print_r($ret);
} catch(Exception $e) {
	echo $e->getMessage();
}




我收到以下错误

(#210)此调用需要页面访问令牌。

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

像这样创建新对象,如果不存在则设置access_token:

        $fb = new Facebook([
        'app_id' => FB_APP_ID,
        'app_secret' => FB_APP_SECRET,
        'default_graph_version' => 'v2.5',
        'default_access_token' => isset($_SESSION['facebook_access_token']) ?
            $_SESSION['facebook_access_token'] : FB_APP_ID . '|'. FB_APP_SECRET
    ]);

仅使用您的FB_APP_ID和FB_APP_SECRET进行更改。现在你有了访问令牌,之后你可以发出请求并获取你需要访问令牌的数据(例如):

    $request = $fb->request('GET', '/'.$page_id.'/');
    // 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->getGraphPage();

    var_dump($graphNode->all());

其中$ page_id是某个页面的id,您可以在其中找到FB页面URL。