ブログを書くということ
日々、ネットを通していろいろなものを吸収しているはずなんですが、どうにも頭の中に残らないのです。もしもアウトプットする場所があれば、インプットする時の気の入りようも違うだろうってことではてなさんにお世話になります。
誰かが読むためというよりは、後々自分が読むため、またはただ単に書くことを目的としてます。
適当な文章や、間違った内容も多々あるとは思いますが悪気はないので軽く聞き流してくれマジで。
FC2のXMLRPCを利用する
目標:PHP PEAR XMLRPCを利用してFCブログに投稿する
PHPを使ってブログに投稿する為には、PEARのXML-RPCを使うと簡単。
http://pear.php.net/manual/ja/package.webservices.xml-rpc.api.php
http://www.na.rim.or.jp/~tsupo/program/blogTool/mt_xmlRpc.html#m01 の
metaWeblog.newPostの部分を読みながら作っていきます。
String blogid, /* blog ID */
String username, /* blog のユーザ名(アカウント) */
String password, /* 上記ユーザの blog への login 用パスワード */
struct content, /* content構造体 (記事情報) */
boolean publish /* 公開するか否か (0: 「下書き」状態で記事を登録, */
/* 1: 「公開」状態で記事を登録 */
注意: content 構造体は、次のような標準的な項目を含みます:
String title, /* 記事の件名 */
String description, /* 記事の本文 */
ISO.8601 dateCreated, /* 記事の投稿日時 */
つまりこんなリクエストを送ればブログに投稿できる。
|
FC2でmt.supportedMethods
<methodResponse> <params> <param> <value><array> <data> <value><string>blogger.getUsersBlogs</string></value> <value><string>blogger.getUserInfo</string></value> <value><string>blogger.newPost</string></value> <value><string>blogger.editPost</string></value> <value><string>blogger.deletePost</string></value> <value><string>blogger.getRecentPosts</string></value> <value><string>metaWeblog.newPost</string></value> <value><string>metaWeblog.editPost</string></value> <value><string>metaWeblog.getPost</string></value> <value><string>metaWeblog.getRecentPosts</string></value> <value><string>metaWeblog.newMediaObject</string></value> <value><string>metaWeblog.getCategories</string></value> <value><string>mt.getRecentPostTitles</string></value> <value><string>mt.getCategoryList</string></value> <value><string>mt.getPostCategories</string></value> <value><string>mt.setPostCategories</string></value> <value><string>mt.supportedMethods</string></value> <value><string>mt.supportedTextFilters</string></value> <value><string>mt.getTrackbackPings</string></value> <value><string>mt.publishPost</string></value> <value><string>mt.setNextScheduledPost</string></value> </data> </array></value> </param> </params> </methodResponse>