Я следую this руководству для создания веб-приложения Youtube на стороне сервера в PHP. Я не могу пройти шаг 4. Все, что хорошо, перенаправляется на мой скрипт, и я могу получить код авторизации без проблем. Однако, когда я пытаюсь обменять этот код на токен авторизации (как показано на шаге 4), абсолютно ничего не происходит. Я не могу найти никаких ошибок, просто ничего не происходит в моем браузере. Мой PHP скрипт это (личное информация удалена):Не удается получить токен доступа Youtube с curl (PHP)
<?php
$data = array(
'code' => $_GET['code'],
'client_id' => '[REMOVED]',
'client_secret' => '[REMOVED]',
'redirect_uri' => '[REMOVED]',
'grant_type' => 'authorization_code');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://accounts.google.com/o/oauth2/token');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$return = curl_exec($ch);
curl_close($ch);
echo $return;
?>
Может быть, я просто путь по моей голове здесь, но может кто-нибудь сказать мне, почему это не работает?
Awesome, теперь я получаю что-то. Это дает мне эту ошибку: {"error": "invalid_grant"} ... Это странно, потому что я просто использовал grant_type, о котором говорили документы API Youtube. Спасибо за помощь, хотя, я посмотрю, смогу ли я найти что-то, чтобы исправить эту новую проблему ... – FramesPerSushi
@FramesPerSushi проверить это :: https://developers.google.com/analytics/devguides/reporting/core/v2/ gdataAuthentication прокрутите вниз, где вы видите «Invalid Grant», надеюсь, что это поможет решить проблему. –
Спасибо. Проблема заключалась в том, что я тестировал, обновляя ту же страницу, на которой я зарегистрировался час назад. Код авторизации истек. Теперь все хорошо. – FramesPerSushi