Сделать анонимный звонок с помощью PHP SDK

В моем приложении PHP пользователи предоставляют свой собственный идентификатор приложения Facebook и приложение Secret. Мне нужно проверить их и показать хорошую ошибку, если они недействительны.

Я уже нашел хороший способ сделать это. Я могу сделать запрос на https://graph.facebook.com/oauth/access_token?client_id=123456&client_secret=abcdefg&grant_type=client_credentials

Если учетные данные недействительны, ответ выглядит следующим образом:

{ "error": { "message": "Error validating application. Cannot get application info due to a system error.", "type": "OAuthException", "code": 101, "fbtrace_id": "D8oHjJoc2Nc" } } 

Я смущен о том, как это сделать с PHP SDK. Для выполнения такого запроса существует аккуратный метод get() , но я не уверен, как отправить запрос без авторизации приложения. Это то, что я сделал:

 $app = new Facebook\FacebookApp( $app_id, $app_secret ); $access_token = $app->getAccessToken(); $query = http_build_query([ 'client_id' => $app_id, 'client_secret' => $app_secret, 'grant_type' => 'client_credentials', ]); $facebook = new Facebook\Facebook( [ 'app_id' => $app_id, 'app_secret' => $app_secret, 'default_graph_version' => '2.5', ] ); $response = $facebook->get( '/oauth/access_token?' . $query, $access_token ); 

Я получаю следующую ошибку:

Неизвестные компоненты пути: / oauth / access_token

Но даже если это сработало, странно назвать это с помощью любых учетных данных отправителя. Возможно ли сделать анонимный запрос Facebook с PHP SDK?

Related of "Сделать анонимный звонок с помощью PHP SDK"

SDK неявно добавляет номер версии API, указанный в пути в -> get (), поэтому я думаю, что это вызывает вашу ошибку здесь, потому что основной вызов выполняется в /2.5/oauth/access_token (сбой для меня в браузере)

Это должно быть /v2.5/oauth/access_token (работает для меня в браузере)

Обновите default_graph_version до версии v2.5 и попробуйте