2013-05-10 3 views
0

Я следую 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; 

?> 

Может быть, я просто путь по моей голове здесь, но может кто-нибудь сказать мне, почему это не работает?

ответ

0

попробуйте добавить,

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 

после CURLOPT_RETURNTRANSFER

+0

Awesome, теперь я получаю что-то. Это дает мне эту ошибку: {"error": "invalid_grant"} ... Это странно, потому что я просто использовал grant_type, о котором говорили документы API Youtube. Спасибо за помощь, хотя, я посмотрю, смогу ли я найти что-то, чтобы исправить эту новую проблему ... – FramesPerSushi

+0

@FramesPerSushi проверить это :: https://developers.google.com/analytics/devguides/reporting/core/v2/ gdataAuthentication прокрутите вниз, где вы видите «Invalid Grant», надеюсь, что это поможет решить проблему. –

+0

Спасибо. Проблема заключалась в том, что я тестировал, обновляя ту же страницу, на которой я зарегистрировался час назад. Код авторизации истек. Теперь все хорошо. – FramesPerSushi

Смежные вопросы