使用Graph api获取facebook页面评价和评论

时间:2013-12-17 13:41:32

标签: facebook facebook-graph-api facebook-page

我正在使用图表API创建搜索地点的网站。我从图API中获取了地方详细信息。有没有办法通过图API获得页面评级和评论?

3 个答案:

答案 0 :(得分:8)

我遇到了同样的问题,我回答了自己的问题here

您需要拨打 {page-id} / ratings?field = open_graph_story ,但您需要获取该网页的访问令牌(在图谱API资源管理器中使用/ me / accounts获取)令牌)。您可以在facebook documentation

中找到更多信息

答案 1 :(得分:6)

这是一篇旧帖子,但我想向其他可能正在寻找解决此问题的人提供一些额外的信息。正如Facebook Open Graph documentation 中所述,您肯定需要一个页面访问令牌来获取页面的个人评分/评论。但是,如果您正在寻找总体评分评论次数,那么您很幸运。只需拨打/{page-id}?fields=overall_star_rating,rating_count,您就可以访问该数据。

以下是一个示例回复:

{
    "overall_star_rating": 4.7,
    "rating_count": 31,
    "id": "{page-id}"
}

答案 2 :(得分:0)

David R. Myers II的答案正是我所需要的。谢谢! 您可以获取任何页面的overall_star_ratingrating_count字段。

您需要将您的应用提交给Facebook进行审核,并请求使用Page Public Content Access功能。

为了进行开发,当您的Facebook应用状态为In development时,您将自动访问自己拥有的页面的公共内容。在上线之前,请先从Facebook请求评论,以便您可以访问其他页面。

要列出您拥有的页面:https://www.facebook.com/bookmarks/pages?ref=u2u

获得评级的示例代码:

// Assuming the Facebook PHP SDK was installed with Composer.
require_once __DIR__ . '/vendor/autoload.php'; // Change path as needed.

$fb = new \Facebook\Facebook([
    'app_id' => '{app-id}',
    'app_secret' => '{app-secret}',
    'default_graph_version' => 'v3.2',
    'default_access_token' => '{access-token}',
]);

try {
    // Get the \Facebook\GraphNodes\GraphPage object for the needed page.
    $response = $fb->get('/{page-id}?fields=overall_star_rating,rating_count');
} 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;
}

// Get the response typed as a GraphPage.
$page = $response->getGraphPage();

// Get the needed field values.
$facebook_rating_count = $page->getField( 'rating_count' );
$facebook_overall_star_rating = $page->getField( 'overall_star_rating' );