У меня проблемы с подсчетом активности в Facebook. Я никогда не использовал это раньше, поэтому, пожалуйста, имейте некоторое понимание. Вот как я сейчас получаю эти вещи, очевидно, через PHP:
function getNumberOfShares($url, $id) {
$url_https = "https://graph.facebook.com/?fields=og_object{likes.summary(total_count).limit(0)},share&id=https://url.com/part/" . $url."/". $id;
$fileContents = file_get_contents($url_https);
$data_share = json_decode($fileContents, true);
$total = $data_share['share']['share_count'];
echo $fileContents;
return $total;
}
Я пытался что-то с $ access_token, но мне было отказано в разрешении из-за большого количества запросов. Мне нужен способ делать как минимум 50-100 ссылок на запрос с интервалами. Спасибо.
РЕДАКТИРОВАТЬ ПОСЛЕ НЕКОТОРЫХ ИССЛЕДОВАНИЙ
require_once("fb/src/Facebook/autoload.php");
$default = "111|11A122SAFB";
$fb = new Facebook\Facebook([
'app_id' => '{111}',
'app_secret' => '{11A122SAFB}',
'default_access_token' => $default,
'default_graph_version' => 'v2.3',
]);
$batch = [
$fb->request('GET', 'https://example.com/part/slug/id&fields=og_object{engagement}'),
$fb->request('GET', 'https://example.com/part/slug/id&fields=engagement'),
];
try {
$responses = $fb->sendBatchRequest($batch);
} 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;
}
foreach ($responses as $key => $response) {
if ($response->isError()) {
$e = $response->getThrownException();
echo '<p>Error! Facebook SDK Said: ' . $e->getMessage() . "\n\n";
echo '<p>Graph Said: ' . "\n\n";
var_dump($e->getResponse());
} else {
echo "<p>(" . $key . ") HTTP status code: " . $response->getHttpStatusCode() . "<br />\n";
echo "Response: " . $response->getBody() . "</p>\n\n";
echo "<hr />\n\n";
}
}
Теперь я получил такой ответ для двух ссылок из пакета, и они имеют разное окончание:
(0) HTTP status code: 200
Response: {"id":"https:\/\/example.com\/part\/slug\/id&fields=og_object{engagement}"}
(1) HTTP status code: 200
Response: {"id":"https:\/\/example.com\/part\/slug\/id&fields=engagement"}
Кто-нибудь знает, как получить долю, лайки, комментарии (участие) с этим. Спасибо!