Googleから提供されているYouTube APIを使ってみた。
色々と悩みましたが、慣れてしまえば何のその。
結構便利に良い物が面白く作れました!!
忘れない様にコードをここへ・・・
YouTubeに動画をアップロードするプログラム
if($_GET['status']==200){
if($_GET['id']){
$douga_insert = new Sql;
$douga_insert->value = array($login->dataset[0]['id'],$_GET['id']);
$douga_insert->sql_insert('Douga');
$_SESSION['report'] = '動画のアップロードが完了しました';
header('Location: ?dsp=douga_admin');
exit();
}
}
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata_YouTube');
Zend_Loader::loadClass('Zend_Gdata_AuthSub');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
$sDeveloperKey = 'YouTubeAPIの開発コード';
$sAccount = 'YouTubeのログインアカウント(ID)';
$sPassword = 'YouTubeのログインパスワード';
$sMovieTitle = 'DatsuNet Movie '.$login->dataset[0]['user_name'];
$sDescription = '';
$sTags = '';
$sNextUrl = 'アップロード後の戻り先URL(フルパス)';
$authenticationURL= 'https://www.google.com/youtube/accounts/ClientLogin';
$httpClient = Zend_Gdata_ClientLogin::getHttpClient(
$username = $sAccount,
$password = $sPassword,
$service = 'youtube',
$client = null,
$source = 'gwiki', // a short string identifying your application
$loginToken = null,
$loginCaptcha = null,
$authenticationURL);
$httpClient->setHeaders('X-GData-Key', "key=${sDeveloperKey}");
$yt = new Zend_Gdata_YouTube($httpClient);
// create a Zend_Gdata_YouTube_VideoEntry
$myVideoEntry= new Zend_Gdata_YouTube_VideoEntry();
// set up media group as in the example above
$mediaGroup = $yt->newMediaGroup();
$mediaGroup->title = $yt->newMediaTitle()->setText($sMovieTitle);
$mediaGroup->description = $yt->newMediaDescription()->setText($sDescription);
$categoryScheme = 'http://gdata.youtube.com/schemas/2007/categories.cat';
$developerTagScheme = 'http://gdata.youtube.com/schemas/2007/developertags.cat';
$mediaGroup->category = array(
$yt->newMediaCategory()->setText('Autos')->setScheme($categoryScheme),
$yt->newMediaCategory()->setText('mydevelopertag')->setScheme($developerTagScheme),
$yt->newMediaCategory()->setText('anotherdevelopertag')->setScheme($developerTagScheme)
);
$mediaGroup->keywords = $yt->newMediaKeywords()->setText($sTags);
$myVideoEntry->mediaGroup = $mediaGroup;
$tokenHandlerUrl = 'http://gdata.youtube.com/action/GetUploadToken';
$tokenArray = $yt->getFormUploadToken($myVideoEntry, $tokenHandlerUrl);
$tokenValue = $tokenArray['token'];
$postUrl = $tokenArray['url'];
$nextUrl = $sNextUrl;
View部分
echo $form = '<form action="'. $postUrl .'?nexturl='. $nextUrl .
'" method="post" enctype="multipart/form-data">'.
'動画ファイルを選択して下さい:<input name="file" type="file"/>'.
'<input name="token" type="hidden" value="'. $tokenValue .'"/>'.
'<input value="動画アップロード" type="submit" />'.
'</form>';
これで、アップロード出来ます。
そして、削除するには
$videoId = $_GET['YouTubeのVideoID'];
$videoEntryToDelete = $yt->getVideoEntry($videoId, null, true);
$yt->delete($videoEntryToDelete);
これで、消えます。
Googleってすばらしいですね〜最高ですね〜
0 件のコメント:
コメントを投稿