| <?
header( "Content-Type: text/html; Charset=utf-8" );
header( "pragma: no-cache" );
header( "Expires: Wed, 31 May 2000 14:59:58 GMT" );
header( "Cache-control: no-cache" );
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_AuthSub');
Zend_Loader::loadClass('Zend_Gdata_Photos');
Zend_Loader::loadClass('Zend_Gdata_Photos_UserQuery');
Zend_Loader::loadClass('Zend_Gdata_Photos_AlbumQuery');
Zend_Loader::loadClass('Zend_Gdata_Photos_PhotoQuery');
Zend_Loader::loadClass('Zend_Gdata_App_Extension_Category');
// 認証後戻って来る URL
$currentUrl = "http://localhost/web/ggdoc/upload.php";
$file_path = "C:\\user\\web\\ggdoc\\twitter_api1.jpg";
// ギャラリーの RSS のリンク URL より取得
$albumId = "5473981708462353761";
session_start();
if (!isset($_SESSION['sessionToken']) && !isset($_GET['token'])) {
$scope = 'http://picasaweb.google.com/data';
$secure = false;
$session = true;
$authSubUrl = Zend_Gdata_AuthSub::getAuthSubTokenUri(
$currentUrl,
$scope,
$secure,
$session
);
echo "<a href=\"{$authSubUrl}\">Google でログインして下さい</a>";
exit();
}
// *********************************************************
// ここから以降は認証済
// *********************************************************
if (!isset($_SESSION['sessionToken']) && isset($_GET['token'])) {
// 戻ってきた時セットされたトークンで、
// セッション用のトークンを取得します
$_SESSION['sessionToken'] =
Zend_Gdata_AuthSub::getAuthSubSessionToken(
$_GET['token']
);
}
// セッション用のトークンで接続します
$client = Zend_Gdata_AuthSub::getHttpClient($_SESSION['sessionToken']);
// フォトギャラリー
$photos = new Zend_Gdata_Photos($client);
// アップロード用のファイル情報
$fd = $photos->newMediaFileSource($file_path);
$fd->setContentType("image/jpeg");
// 新しいフォトエントリー
$entry = new Zend_Gdata_Photos_PhotoEntry();
$entry->setMediaSource($fd);
$entry->setTitle($photos->newTitle("Twitter API その壱"));
// ユーザーid取得
// ユーザidは $user に直接セットしても可
// 参照だけなら、他のユーザを指定できます
$query = new Zend_Gdata_Photos_UserQuery();
$query->setUser("default");
$userFeed = $photos->getUserFeed(null, $query);
$user = $userFeed->getTitle();
// アルバム取得の準備
$albumQuery = new Zend_Gdata_Photos_AlbumQuery;
$albumQuery->setUser($user);
$albumQuery->setAlbumId($albumId);
// アルバム取得
$albumEntry = $photos->getAlbumEntry($albumQuery);
// 指定したアルバムにアップロード
$result = $photos->insertPhotoEntry($entry, $albumEntry);
if ($result) {
print "アップロードに成功しました<br>";
}
else {
print "アップロードに失敗しました<br>";
}
?>
OK
| |