Как аутентифицировать клиент Google для использования API YouTube в laravel 5

Привет, ребята, я пытаюсь перечислить все каналы или по крайней мере 1 канал существует в моей учетной записи Google, но я застрял на странице с ошибкой, которая говорит мне: «Дневной лимит для использования без аутентификации превышен. Для продолжения использования требуется регистрация.». Вот мой конфиг и мой код (я кодирую на Laravel 5.1):

Шаг 1: Я извлекаю google-api-client-php через composer и настраиваю вот так в composer.json:

"require": {
"google/apiclient": "1.0.*@beta"}

"autoload": {
"classmap": [
"vendor/google/apiclient/src/Google"],
},

Шаг 2: Я создаю файл google.php в config / google.php для хранения своего secretID, clientId …

return [
'app_name'             => '<my_project_name>',
'client_id'            => '<my_project_client_id>',
'client_secret'        => '<my_project_client_secret>',
'api_key'              => '<my_project_api_key>',
'service_account_name' => '<my_project_service_account_name>'
];

Шаг 3. Я создаю OAuth на console.developers.google.com с параметрами:

  • Тип приложения: веб-приложение
  • Авторизованные источники JavaScript: http://iceo.dev/ (мое локальное веб-приложение)
  • Авторизованные URI перенаправления: http://iceo.dev/googles/channels.

Шаг 4: Я создаю маршрут для этого URL перенаправления:

  • Маршрут :: получить ( ‘Googles / каналы’, ‘GoogleController @ каналов’);

Шаг 5: Создайте контроллер с именем GoogleController с функцией:

public function channels(Google $google){
return $google->getChannels();
}

Шаг 6: Я создаю модель с именем Google.php в App \ Google.php:

protected $client;

protected $service;

function __construct()
{
$client_id            = Config::get( 'google.client_id' );
$client_secret        = Config::get( 'google.client_secret' );
$service_account_name = Config::get( 'google.service_account_name' );
$key                  = Config::get( 'google.api_key' );
$applicationName      = Config::get( 'google.app_name' );
$this->client = new \Google_Client();
$this->client->setApplicationName( $applicationName );

}

public function getChannels()
{
$redirect = 'http://' . $_SERVER['HTTP_HOST'] . '/googles/channels';

$this->client->setClientId( Config::get( 'google.client_id' ) );
$this->client->setClientSecret( Config::get( 'google.client_secret' ) );
$this->client->setScopes( ['https://www.googleapis.com/auth/youtube'] );
$this->client->setRedirectUri( $redirect );
$this->client->setApplicationName( Config::get( 'google.app_name' ) );
$this->client->setAccessType( 'offline' );
$this->service = new \Google_Service_YouTube( $this->client );

$results = $this->service->channels->listChannels( 'contentDetails', [ 'mine' => true ] );

return $results;
}

Это мой результат, когда я захожу на свой URL iceo.dev/googles/channels:

Google_Service_Exception в строке REST.php 79:
Ошибка вызова GET googleapis.com/youtube/v3/channels?part=contentDetails&mine = true: (403) Превышен суточный лимит для неаутентифицированного использования. Продолжение использования требует регистрации.

Где я ошибаюсь или я что-то упустил? пожалуйста, веди меня.

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]