用户可以使用或不使用身份验证在单个Youtube频道上传视频

时间:2015-07-14 03:48:47

标签: php zend-framework oauth youtube gdata

我正在制作一个程序,可以让任何用户将视频上传到我的YouTube频道。但它会产生错误。我的代码如下: -

   require_once 'Zend/Loader.php';
   Zend_Loader::loadClass('Zend_Gdata_YouTube');
   Zend_Loader::loadClass('Zend_Gdata_AuthSub');
   Zend_Loader::loadClass('Zend_Gdata_App_Exception');

   Zend_Loader::loadClass('Zend_Gdata_ClientLogin');

   $authenticationURL= 'https://www.google.com/accounts/ClientLogin';

   $client = "";

    $email = 'theprofessional1992@gmail.com';

  $passwd = '*******************';

   try {

     $client = Zend_Gdata_ClientLogin::getHttpClient($email, $passwd, 'cl');

   } catch (Zend_Gdata_App_CaptchaRequiredException $cre) {

echo 'URL of CAPTCHA image: ' . $cre->getCaptchaUrl() . "\n";
echo 'Token ID: ' . $cre->getCaptchaToken() . "\n";

 } catch (Zend_Gdata_App_AuthException $ae) {

echo 'Problem authenticating: ' . $ae->exception() . "\n";

}
  

错误: - 注意:未定义的偏移:1英寸   C:\ WAMP \ WWW \ YT \ ZDATA \演示\ Zend的\ GDATA \ YouTubeVideoApp \ Zend的\ GDATA \ ClientLogin.php   在第150行

即使我不知道如何制作此功能。

请帮忙吗?

1 个答案:

答案 0 :(得分:1)

  

注意:YouTube Data API(v2)已被正式弃用   2014年3月4日

使用YouTube Data API(v3),您无法使用用户名和密码上传 如果要将视频上传到youtube,则必须使用这些库:
https://github.com/google/google-api-php-client
https://github.com/youtube/api-samples/tree/master/php
https://github.com/youtube/api-samples/blob/master/php/resumable_upload.php

当然,如果您不希望每次上传过程都进行身份验证,则可以使用刷新令牌。

$client = new Google_Client();
$client->setClientId($OAUTH2_CLIENT_ID);
$client->setClientSecret($OAUTH2_CLIENT_SECRET);
$client->setScopes('https://www.googleapis.com/oauth2/v3/token');
$client->setAccessType('offline');

刷新令牌将包含在api响应中。将其保存到数据库中。请记住,您只能在第一时间获得刷新令牌。如果你丢失了,你将不得不撤销你的申请https://security.google.com/settings/security/permissions?pli=1

现在使用刷新令牌,您可以随时自动获取访问令牌:

$client->refreshToken($refreshToken);
$accessToken = $client->getAccessToken();