facebook使用PHP SDK开放图表计数份额

时间:2017-06-08 15:31:16

标签: php facebook facebook-graph-api facebook-php-sdk

从Facebook文档中我可以获得调用以下网址https://graph.facebook.com/?id=http://www.google.it的网页的份额,返回的数据如下:

{
   "share": {
      "comment_count": 0,
      "share_count": 636734
   },
   "og_object": {
      "id": "389545309239",
      "title": "Google",
      "type": "website",
      "updated_time": "2017-06-08T10:05:50+0000"
   },
   "id": "http://www.google.it"
}

我希望使用以下代码使用PHP SDK获取相同的数据:

//require the Facebook PHP SDK

$client_id="my app id";
$client_secret="my secret key";
$default_access_token = file_get_contents( "https://graph.facebook.com/oauth/access_token?client_id=$client_id&client_secret=$client_secret&grant_type=client_credentials");

$OGResponse = new Facebook\Authentication\AccessToken($default_access_token);

$access_token = json_decode($OGResponse)->access_token;

$fb = new Facebook\Facebook([
    'app_id' => $client_id, // Replace {app-id} with your app id
    'app_secret' => $client_secret,
    'default_access_token' => $access_token,
]);

$helper = $fb->getRedirectLoginHelper();

$request = new \Facebook\FacebookRequest(
    $fb->getApp(),
    $access_token,
    'GET',
    '/',
    array(
        'id' => 'http://www.google.it',
    )
);

$response = $fb->getClient()->sendRequest($request);

//$response = $request->execute();
$graphObject = $response->getGraphObject();

访问$ graphObject我可以检索除" share"之外的相同数据。关键,这是我感兴趣的。

如果我使用GRAPH API Explorer,我会使用PHP SDK获得相同的信息:

{
  "og_object": {
  "id": "389545309239",
  "title": "Google",
  "type": "website",
  "updated_time": "2017-06-08T10:05:50+0000"
},
"id": "http://www.google.it"
} 

有没有办法获得"股票"使用PHP SDK?

1 个答案:

答案 0 :(得分:8)

试试这个 graph api explorer v2.8

但您无法使用图表api v2.9获取共享字段,因为版本v2.9及更高版本不推荐使用共享字段,或者您可以使用此graph api explorer v2.9

这样的engagement字段

for PHP SDK:

$request = new \Facebook\FacebookRequest(
    $fb->getApp(),
    $access_token,
    'GET',
    '/',
    array(
        'id'     => 'http://www.google.it',
        'fields' => 'engagement,og_object',
    )
);

然后你会得到类似的东西

{
  "engagement": {
    "reaction_count": 207037,
    "comment_count": 125335,
    "share_count": 304362,
    "comment_plugin_count": 0
  },
  "og_object": {
    "id": "389545309239",
    "title": "Google",
    "type": "website",
    "updated_time": "2017-06-08T15:58:56+0000"
  },
  "id": "http://www.google.it"
}