获取用户登录访问令牌以使用youtube API



我正在使用youtube API为我的应用程序中的用户调度实时事件。

一旦用户登录到我的应用程序,我需要登录相同的用户到我们的业务谷歌帐户(一个谷歌帐户为所有用户),而不给登录凭据。并获得用于调度实时事件的访问令牌。

是否可以在不提供登录凭证的情况下将用户登录到google帐户(用户不会觉得他登录到另一个帐户)

在PHP中可行吗?请给出一个获取youtube API访问令牌的示例。

我使用以下代码获取访问令牌,但服务帐户无法访问youtube服务。

使用服务帐户获取访问令牌的代码:

<?php
   require_once 'Google/autoload.php';
   session_start();     
    $client_id = '395540674667-p64tdfqdsfsdfdsf@dsfd.com';
    $Email_address = '54564-drgfdg1@developer.gserviceaccount.com';  
    $key_file_location = 'Youtube API-5czxczxc86.p12';      
    $client = new Google_Client();      
    $client->setApplicationName("Youtube API");
    $key = file_get_contents($key_file_location);    
    // seproate additional scopes with a comma   
    $scopes = array('https://www.googleapis.com/auth/sqlservice.admin','https://www.googleapis.com/auth/plus.login','https://www.googleapis.com/auth/youtube'); 
    $cred = new Google_Auth_AssertionCredentials($Email_address,         
                             $scopes,       
                             $key);  
    $client->setAssertionCredentials($cred);
    if($client->getAuth()->isAccessTokenExpired()) {        
         $client->getAuth()->refreshTokenWithAssertion($cred);      
    }   
    //print_r($client);
    echo $client->getAccessToken();
    ?> 

我期待的答案是这样的。谁来帮忙

你的例子关于Youtube api,首先:

  • 从这里为你的api项目选择凭据:

    https://console.cloud.google.com/home/dashboard?project=与您的项目

  • 你还需要启用api,因为谷歌告诉我们"一些api是自动启用的。"

  • 当您选择:

    https://console.cloud.google.com/apis/api/youtube/与转到凭据你有一些选项进入模态窗口,这将有助于。

  • 的php代码似乎是好的,但我也认为你会改变后,你了解更多关于凭据设置。

最新更新