【问题标题】:Get facebook page review and rating获取 Facebook 页面评论和评分
【发布时间】:2016-07-25 10:46:06
【问题描述】:

我创建了一个 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) 此调用需要页面访问令牌。

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

【问题讨论】:

标签: php facebook facebook-graph-api


【解决方案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 找到它。

【讨论】:

    猜你喜欢
    • 2014-05-24
    • 2022-12-09
    • 1970-01-01
    • 2021-10-19
    • 2013-06-23
    • 1970-01-01
    • 2016-03-21
    • 2014-01-05
    • 1970-01-01
    相关资源
    最近更新 更多