Что я хочу - это получение данных с использованием общедоступной страницы. Я пробовал документацию, но не смог найти эту информацию. Затем я просмотрел его и нашел этот вопрос Can you get a public Facebook page's feed using Graph API without asking a user to allow? здесь, в stackoverflow, и это прекрасно объясняет, что я хочу делать с PHP. Я прочитал в ответе McNab, что мне нужно приложение в facebook для извлечения этих данных (для получения токена доступа). Я создал приложение, и он взял меня на базовую страницу настроек, где он дал мне AppId и AppSecret. Теперь, как из ответа McNab, мне нужен только секрет AppId и app, чтобы получить auth_token, я использовал следующий код, но по какой-то причине я получаю false
вместо AuthToken. Что я здесь делаю неправильно? Я не добавлял никаких дополнительных подробностей в приложение, это вызывает эту проблему, нужно ли добавлять дополнительные сведения в приложение или что-то еще вызывает это?Facebook Graph API: не удается получить доступ к токену авторизации
P.S Также я пытаюсь это на localhost на моем ПК.
function fetchUrl($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
$feedData = curl_exec($ch);
curl_close($ch);
return $feedData;
}
$profile_id = "100002138417834";
// App info needed for auth.
$app_id = "--------------";
$app_secret = "-=-=-=-=-=-=-=-=-=-=-=-";
$authToken = fetchUrl("https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id={$app_id}&client_secret={$app_secret}");
var_dump($authToken);
UPDATE:
Когда я var_dump(curl_error($ch));
(как это было предложено в комментариях), он дал мне эту ошибку:
string 'SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed' (length=146)
Возвращение false означает, что cUrl не удалось, а не только FB Api. Сообщается ли об ошибках?Попробуйте 'var_dump (curl_error ($ ch)); после curl_exec –
Если возвращаемое значение равно' bool (false) ', произошла ошибка, поэтому вы должны использовать' curl_error ($ ch) ', чтобы узнать, что это было. В качестве альтернативы используйте 'curl_setopt (CURLOPT_VERBOSE, 1);' для включения отладки. –
Означает ли это, что вы решили? –