获取facebook页面评论和评级


Get facebook page review and rating

我已经创建了一个facebook应用程序,并批准该应用程序访问manage_pages。我正在寻找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)此调用需要一个页面访问令牌。

如有任何帮助,我们将不胜感激。

创建这样的新对象,如果不存在,则设置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。