Я использовал FQL несколько дней назад для получения данных Facebook, но заметил, что они будут прекращены примерно через 1 год, поэтому я перешел на Graph API. Но правильно ли я это использую? Будет ли этот метод работать еще в следующем году? Я все еще использую
facebook.php
,
base_facebook.php
а также
fb_ca_chain_bundle.crt
с 2011 года, но опять же мне нужны только эти функции.
Вот мой код, спасибо за любой совет, который вы можете дать мне 🙂
function get_content($URL){
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $URL);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$access_token = $facebook->getAccessToken();
$data = get_content("https://graph.facebook.com/" . $facebook_id . "/?fields=name,first_name,last_name,email&access_token=".$access_token);
$data_array = json_decode($data, true);
$new_array = array(
"uid" => $data_array['id'],
"name" => $data_array['name'],
"first_name" => $data_array['first_name'],
"last_name" => $data_array['last_name'],
"email" => $data_array['email']
);
Это выглядит совершенно правильно!
Единственным улучшением этого кода будет добавление номера версии API к вызову.
Итак, используйте https://graph.facebook.com/v2.4/
$data = get_content("https://graph.facebook.com/v2.4/**" . $facebook_id . "/?fields=name,first_name,last_name,email&access_token=".$access_token);
Таким образом, вы не будете подвержены изменениям, по крайней мере, до июля 2017 года!
Возможно, вы захотите перехватить любое возвращенное соединение или ошибки HTTP.
Некоторые из ошибок HTTP задокументированы Вот.
Вы можете использовать Graph API Explorer для выполнения тестовых вызовов API и проверки ваших запросов.