xml-rpc,やってみますた!
目的は、
- 自作のfc2->はてな引っ越しスクリプトにおいて、引っ越したエントリを自動で下書き状態にする
- そして、下書きにしたエントリの一覧を保存し、いざという時に一括で戻せるようにする
- python-markdownなども使い、ローカルでマークダウンで書いたエントリを変換送信しfc2でもマークダウンな暮らしを送る(将来の野望)
…まぁ、fc2が今後も健在であればですけどネー。そうあってもらいたい。 ググってみても意外と見通しのよい資料がなく難渋しましたが (そのくせ、他のキーワードでググってると見たかった情報に後で到達したり…)、触ってみれば簡単でした。
import xmlrpclib server_url = 'http://blog.fc2.com/xmlrpc.php'; server = xmlrpclib.ServerProxy(server_url); blogid='' # 空白でよし userid="俺@メアド" # 登録時のメールアドレス pswd='********' #パスワード。こわいなー print str(server.mt.getCategoryList(blogid,userid,pswd))
さすがpython。
それで、mt.supportedMethodsを呼び出すとエラーになる件。元々mt.supportedMethodsはパスワード不要なAPIで誰でも呼び出せるとのことですが、バージョンが違うのか独自拡張なのか?他のAPI同様、blogid,userid,pswdを付ければ呼び出せました。
print str(server.mt.supportedMethods(blogid,userid,pswd))
結果を一応コピっておきますと
['blogger.getUsersBlogs', 'blogger.getUserInfo', 'blogger.newPost', 'blogger.editPost', 'blogger.deletePost', 'blogger.getRecentPosts', 'metaWeblog.newPost', 'metaWeblog.editPost', 'metaWeblog.getPost', 'metaWeblog.getRecentPosts', 'metaWeblog.newMediaObject', 'metaWeblog.getCategories', 'mt.getRecentPostTitles', 'mt.getCategoryList', 'mt.getPostCategories', 'mt.setPostCategories', 'mt.supportedMethods', 'mt.supportedTextFilters', 'mt.getTrackbackPings', 'mt.publishPost', 'mt.setNextScheduledPost']
となっておりました。