如何验证谷歌客户端在laravel 5中使用youtube API

时间:2015-08-10 04:15:42

标签: php laravel-5 youtube-channels youtube-data-api

嗨,大家好我尝试列出所有频道或至少1个频道存在于我的谷歌帐户,但我卡在错误页面告诉我“未经验证的使用超出每日限制。继续使用需要注册。”。这是我的配置和我的代码(我在Laravel 5.1上编码):

第1步:我在composer.json中通过composer和配置拉“google-api-client-php”:

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

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

第2步:我在config / google.php中创建文件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步:我使用选项

在console.developers.google.com上创建OAuth

第4步:我为此重定向网址创建路线:

  • 路线::得到( '谷歌/信道', '@ GoogleController频道');

步骤5:创建名为GoogleController的Controller,其功能为:

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

第6步:我在App \ Google.php中创建了一个名为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;
}

这是我访问我的网址时的结果iceo.dev/googles/channels:

REST.php第79行中的Google_Service_Exception: 调用GET时出错googleapis.com/youtube/v3/channels?part=contentDetails&mine=true:(403)超出未经身份验证的使用的每日限制。继续使用需要注册。

我错在哪里或者我错过了什么?请指导我。

0 个答案:

没有答案