From 077e3c5618ac1b0d6ed8e63794e4feb4d51bf733 Mon Sep 17 00:00:00 2001 From: Richard Fath Date: Mon, 14 Feb 2022 23:10:45 +0100 Subject: [PATCH] Update fb graph api version to 13.0 and change field to og_object --- src/Backend/Facebook.php | 14 ++++---------- tests/FacebookTest.php | 6 +++--- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/src/Backend/Facebook.php b/src/Backend/Facebook.php index 1c1a6d0..3cd4d83 100644 --- a/src/Backend/Facebook.php +++ b/src/Backend/Facebook.php @@ -31,8 +31,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/v7.0/?id='.urlencode($url) . '&fields=engagement&access_token=' + $accessToken = urlencode($this->config['app_id']) . '|' . urlencode($this->config['secret']); + $query = 'https://graph.facebook.com/v13.0/?id=' . urlencode($url) . '&fields=og_object%7Bengagement%7D&access_token=' . $accessToken; return new \GuzzleHttp\Psr7\Request('GET', $query); @@ -43,14 +43,8 @@ public function getRequest($url) */ public function extractCount(array $data) { - 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']; + if (isset($data['og_object']['engagement']['count'])) { + return $data['og_object']['engagement']['count']; } return 0; diff --git a/tests/FacebookTest.php b/tests/FacebookTest.php index 27c431a..f2ee63f 100644 --- a/tests/FacebookTest.php +++ b/tests/FacebookTest.php @@ -20,7 +20,7 @@ public function testConfig() $facebook->setConfig(array('app_id' => 'foo', 'secret' => 'bar')); $request = $facebook->getRequest('http://www.heise.de'); $this->assertEquals( - 'id='.urlencode('http://www.heise.de').'&fields=engagement&access_token=foo%7Cbar', + 'id='.urlencode('http://www.heise.de').'&fields=og_object%7Bengagement%7D&access_token=foo%7Cbar', $request->getUri()->getQuery() ); } @@ -35,9 +35,9 @@ public function testUsesGraphApi() $request = $facebook->getRequest('http://www.heise.de'); $this->assertEquals('graph.facebook.com', $request->getUri()->getHost()); - $this->assertEquals('/v7.0/', $request->getUri()->getPath()); + $this->assertEquals('/v13.0/', $request->getUri()->getPath()); $this->assertEquals( - 'id='.urlencode('http://www.heise.de').'&fields=engagement&access_token=foo%7Cbar', + 'id='.urlencode('http://www.heise.de').'&fields=og_object%7Bengagement%7D&access_token=foo%7Cbar', $request->getUri()->getQuery() ); }