我正在制作一个程序,可以让任何用户将视频上传到我的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行
即使我不知道如何制作此功能。
请帮忙吗?
答案 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();