Facebook OAuthException: Пожалуйста, убедитесь, что ваш redirect_uri идентичен тому, который вы использовали в диалоговом запросе OAuth

#facebook #facebook-graph-api

#Facebook #facebook-graph-api

Вопрос:

Я пытаюсь получить facebook access_token с помощью curl. Это мой код

 $fields = array(
    'client_id'       => '**************',
    'client_secret'   => '**************',
    'code'            => '*******************',
    'redirect_uri'    => 'https://phpstack-140306-780547.cloudwaysapps.com/'
);
$url = 'https://graph.facebook.com/oauth/access_token?';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
$result = curl_exec($ch);
curl_close($ch);
$result = json_decode($result);
  

И в разделе «Допустимые URI перенаправления OAuth» это то же самое.

Допустимые URI перенаправления OAuth

Мой вопрос: что-то не так с процессом? Возможно, я что-то упускаю. Пока не могу разобраться. Очень нужна помощь. Я новичок в facebook API.

Комментарии:

1. Ну, вопрос в том, что вы использовали, когда фактически приобрели code ? (Жесткое кодирование, в котором мало смысла.)

2. да, с помощью жесткого кодирования.

3. Это не сработает. Эти коды можно использовать только один раз и в течение ограниченного времени после их выдачи (всего пару минут) по соображениям безопасности. Вам нужно пройти надлежащий процесс входа в систему, чтобы получить новый код, когда вы хотите зарегистрировать пользователя.

4. Ах .. хорошо. Просто чтобы быть уверенным, будут ли эти фрагменты работать после получения нового кода?

5. так и должно быть, при условии, что вы указали точно такое же значение redirect_uri, которое использовалось при вызове диалогового окна входа.