2015-04-30 4 views
1

Я пытаюсь получить потоки комментариев для видео пользователя, но я получаю ошибку 403 Недостаточно разрешения.Возврат API Youtube Недостаточно разрешения при запросе комментариев

У моего клиента oAuth в консоли разработчика включен API Youtube Data v3, и я устанавливаю область youtube при создании токена.

Вот клиент, который я использую для авторизации приложения в потоке oauth. Я пробовал как область видимости youtube, так и область youtube.readonly и не выставляю commenThreads.

$client = new Google_Client(); 
$client->setClientId($auth_config['client_id']); 
$client->setClientSecret($auth_config['client_secret']); 
$client->setRedirectUri($auth_config['redirect_uri'])); 
$client->addScope(Google_Service_YouTube::YOUTUBE); 
$client->setAccessType('offline'); 

В другом месте в моем приложении я использую токен, как показано ниже.

$client = new Google_Client(); 
$client->setAccessToken($access_token); 
$youtube = new Google_Service_YouTube($client); 
$comments = $youtube->commentThreads->listCommentThreads('snippet', [ 'videoId' => $videoId]); 

Я могу просматривать видео пользователей и, насколько я могу сказать, что я должен иметь разрешение для просмотра комментариев тоже. Что мне не хватает? Мой код почти идентичен примеру клиентской библиотеки PHP.

ответ

2

Я нашел решение. С помощью области force-ssl исправлено это.

$client->addScope(Google_Service_YouTube::YOUTUBE_FORCE_SSL); 

Не знаете, почему область ssl работает, когда область видимости без видимой области видимости отсутствует, особенно для просто перечисления комментариев.

1

Для разработчиков JavaScript

var OAUTH2_SCOPES = [ 
    'https://www.googleapis.com/auth/youtube', 
    'https://www.googleapis.com/auth/youtube.force-ssl' 
]; 

для извлечения комментариев из API YouTube добавить https://www.googleapis.com/auth/youtube.force-ssl это в OAUTH2_SCOPES массив

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