Quantcast
Channel: 情報と音楽 » PHP
Viewing all articles
Browse latest Browse all 6

Photologをflickrからtumblrへ移行しました

$
0
0

以前にも書いたように、携帯電話で撮ったそのへんのものをコメントつきでflickrにアップしてたんですが、flickrの無料アカウントでの制限(200枚)に達してしまったのを機に、tumblrへ移行しました。

もうちょっとがんばって撮った写真(携帯電話以外で撮った写真)はflickrに置いたまま。これが200枚に達したらProアカウントにするか考えよう。

で、移行ですが、手動で1つづつ移すのは面倒なので、両サービスのAPIを利用して、flickrの特定セットの写真をtumblrに投稿するスクリプトを作成、ローカルサーバで走らせました。

自分で、しかも1回使うだけなので、使い勝手はひどいですが、参考にしたい人もいるかと思いますので、掲載しておきます。

<?php //flickrのSetのid。SetのURLに含まれています $flickr_photoset_id = '○○○○○○○○○○'; //flickrのAPI Key。 http://www.flickr.com/services/api/ で取得してください。 $flickr_api_key = '○○○○○○○○○○'; //tumblrに登録したメールアドレス $tumblr_email = '○○○○○○@○○○○○○○○○○'; //tumblrのパスワード $tumblr_password = '○○○○○○○○○○'; //投稿先のtumblr $tumblr_group = '○○○○○○.tumblr.com'; //Setの情報を取得する $s = simplexml_load_file('http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key='.&flickr_api_key.'&photoset_id='.$flickr_photoset_id.'&extras=url_o,date_upload,date_taken'); foreach($s->photoset->photo as $p_no => $p_val){ //写真1枚の情報を取得 $p_info = simplexml_load_file('http://api.flickr.com/services/rest/?method=flickr.photos.getInfo&api_key='.&flickr_api_key.'&photo_id='.$p_val->attributes()->id); //tumblrへのリクエスト作成 $request_multipart = array( 'email' => $tumblr_email, 'password' => $tumblr_password, 'type' => 'photo', 'source' => substr($p_val->attributes()->url_o,7), 'caption' => $p_info->photo->description, 'date' => $p_info->photo->dates->attributes()->taken, 'group' => $tumblr_group ); //tumblrへのリクエスト $c = curl_init('http://www.tumblr.com/api/write'); curl_setopt($c, CURLOPT_POST, true); curl_setopt($c, CURLOPT_POSTFIELDS, $request_multipart); curl_setopt($c, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($c); $status = curl_getinfo($c, CURLINFO_HTTP_CODE); if (curl_errno($c)) { echo "curl_error($c)\n"; } curl_close($c); print_r($result."\n"); } ?>

flickr.photosets.getPhotosだとオリジナル画像のURLが取得できるのに、flickr.photos.getInfoだと取得できないのがよくわからんけど、まあ問題なし。

これをxampp上で実行して、tumblrを確認しだい、手動でflickr側の写真を削除していきました。削除は手でやったほうが安心だもんね。

その後、サブドメインの設定をドメイン管理会社の管理ページとtumblrのカスタマイズページで行い、めでたく完了。

いやしかし、API提供されてるといろいろ便利です。Webサービスを選ぶ際にはAPIやインポート/エクスポート機能をちゃんと見ておくべきですね。

参考


Viewing all articles
Browse latest Browse all 6

Latest Images

Trending Articles





Latest Images