diff --git a/src/Backend/Facebook.php b/src/Backend/Facebook.php index cc63179..f8d05f8 100644 --- a/src/Backend/Facebook.php +++ b/src/Backend/Facebook.php @@ -32,7 +32,8 @@ public function setConfig(array $config) public function getRequest($url) { $accessToken = urlencode($this->config['app_id']) .'|'.urlencode($this->config['secret']); - $query = 'https://graph.facebook.com/v2.8/?id='.urlencode($url).'&access_token='.$accessToken; + $query = 'https://graph.facebook.com/v2.10/?id='.urlencode($url) . '&fields=engagement&access_token=' + . $accessToken; return new \GuzzleHttp\Psr7\Request('GET', $query); } @@ -42,11 +43,14 @@ public function getRequest($url) */ public function extractCount(array $data) { - if (isset($data['data']) && isset($data['data'][0]) && isset($data['data'][0]['total_count'])) { - return $data['data'][0]['total_count']; - } - if (isset($data['share']) && isset($data['share']['share_count'])) { - return $data['share']['share_count']; + if (isset( + $data['engagement']['reaction_count'], + $data['engagement']['comment_count'], + $data['engagement']['share_count'] + )) { + return $data['engagement']['reaction_count'] + + $data['engagement']['comment_count'] + + $data['engagement']['share_count']; } return 0; diff --git a/tests/FacebookTest.php b/tests/FacebookTest.php index 99716a3..46d972b 100644 --- a/tests/FacebookTest.php +++ b/tests/FacebookTest.php @@ -31,9 +31,9 @@ public function testUsesGraphApi() $request = $facebook->getRequest('http://www.heise.de'); $this->assertEquals('graph.facebook.com', $request->getUri()->getHost()); - $this->assertEquals('/v2.8/', $request->getUri()->getPath()); + $this->assertEquals('/v2.10/', $request->getUri()->getPath()); $this->assertEquals( - 'id='.urlencode('http://www.heise.de').'&access_token=foo%7Cbar', + 'id='.urlencode('http://www.heise.de').'&fields=engagement&access_token=foo%7Cbar', $request->getUri()->getQuery() ); }