#freeze
#setlinebreak(on)
* ブログAPIまとめクラス PEAR::Services_Blogging [#g0a7f550]
#htmlinsert(googleAdsense.html)
#ref(http://dozo.rgr.jp/img/img20_file.png,right,nolink,around,PHP::PEAR)

** 概要 [#a55dbb5d]

これはなかなか便利そう。

(ノ・・)ン。。。。。。(((●コロコロッ

今までも、trackback, ping, xmlrpcなどAPIを使ってやりとりするサポートクラスはPEARにもあったが、
今度はXMLRPCをAPI利用する事自体をクラス化したものが登場した。
それが
''[[PEAR::Services_Blogging>http://pear.php.net/Services_Blogging]]''
 
利用できるAPIは
- Blogger API
- LiveJournal API
- MetaWeblog API

それぞれ出来ることが異なっているので、
抽象化するのはなかなか難しいと思うが、
いろんなAPIに対応していくれると非常にありがたい。
ただし、このライブラリはPHP5以上が必要。


利用できる機能は
- 投稿
- 閲覧
- 編集
- 削除
- ファイルアップロード
- APIアドレス自動取得

と一通り揃えているので、
遠隔でブログツールを制御するツールや、
ケータイ投稿するツールなど
幅広い利用が考えられる。



** サンプル [#r0802d23]
*** 一覧 [#o83f7776]
まずはブログの一覧を取得。
取得にはBloggerAPIを使用する。
 <?php
 require_once 'Services/Blogging.php';
 $user = 'dozo';
 $pass = 'hogeo';
 $host = 'dozo.matrix.jp';
 $path = 'pear/index.php'
 $blogObj = Services_Blogging::factory('Blogger', $user, $pass, $host, $path);
 $posts = & $blogObj->getBlogs();  
 
 var_dump( $posts ); 
 ?>
結果は?
 [0] => Services_Blogging_Blog Object
    (
        [values:protected] => Array
            (
                [id] => 1
                [name] => Blog 1
                [url] => http://dozo.matrix.jp/
            )
    )
 [1] => Services_Blogging_Blog Object
     (
         [values:protected] => Array
             (
                 [id] => 2
                 [name] => Blog 2
                 [url] => http://dozo.matrix.jp/
             )
     )
ちゃんと一覧が取れている。
通信がうまくいっている証拠だ。

*** 新規投稿 [#x48f85fd]
次は投稿。
コードは上からの続きね。
 <?php
 $postObj = $blogObj->createNewPost();
 
 $postObj->content = "遠隔でブログに投稿してみましたよー\r\n\r\nちゃんと動いてますかー";
 $blogObj->setBlogId('1');
 $blogObj->savePost($postObj);
 echo 'post id: ' . $postObj->id;
 ?>
postidが帰ってきている。
実際にブログを見てみるとちゃんと記事が投稿されているのがわかる。
後はBlogID, PostIdを如何にとってくるかを考えるだけ。
それをsavePostに当てれば編集、deletePostに当てれば削除になる。




ちょっと待て、一言言わせろ
タイトル投稿できねえよ!!(゜Д゜)
それはBloggerAPIを作ったGoogleに言って欲しい。
出来れば私もMetaWeblogを使いたい。
だが、なぜかこのライブラリは必須のはずのBlogID指定がBloggerAPIでしかできない。
しかも型がProtectedなのでHackする以外にセットする方法がない。
要望を出そうとしたがMLに入れと言われやめた。
(執筆時ver1.1)

ちょっと要望も書いてみたり。
 mtAPIも欲しいなぁ。

ハマリポイント
 MTユーザは違う意味でハマリポイントが多い。 
 詳しくはこちら。
http://hain.jp/index.php/tech-j/2007/01/22/p121

#comment



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Third Project
証券会社ランキング比較