perl で XML-RPC API を使ってブログ記事を投稿・編集する

2009年12月 8日 21:02 perl で XML-RPC API を使ってブログ記事を投稿・編集する

XML-RPC API を使って、perl で各種ブログに記事を投稿したり、記事を編集したりする方法の解説です。

各ブログサービスごとの、エンドポイントの URL や、 blogid 他、必要な情報は、XML-RPC API で投稿できるブログサービスの情報まとめにまとめてあります。

metaWeblog.newPost メソッドを使ったブログ記事の新規投稿

metaWeblog.newPost メソッドを使って、ブログ記事の新規投稿をする perl スクリプトは以下のような感じ。

use XMLRPC::Lite;

#-- 以下四項目はブログサービスによって異なる
$blogid   = 'abe';
$username = 'tatsuya';
$password = 'password';
$endpoint = 'http://www.xxxx.com/xml-rpc.cgi';

$result = XMLRPC::Lite
	-> proxy($endpoint)
	-> call('metaWeblog.newPost', $blogid, $username, $password,
		{
			#-- ブログ記事タイトル
			'title' => XMLRPC::Data->type('string', $entry_title),
			#-- ブログ記事本文
			'description' => XMLRPC::Data->type('string', $entry_body),
			#-- コメントを受け付けるかどうか(1でコメント受付)
			'mt_allow_comments' => 1,
			#-- トラックバックを受け付けるかどうか(1でトラックバック受付)
			'mt_allow_pings' => 1,
			#-- ブログ記事本文の「続き」部分
			'mt_text_more' => XMLRPC::Data->type('string', $entry_more),
			#-- ブログ記事の概要
			'mt_excerpt' => XMLRPC::Data->type('string', $entry_excerpt),
			#-- ブログ記事のキーワード
			'mt_keywords' => XMLRPC::Data->type('string', $entry_keyword),
		},
		1
	)
	-> result;
if(!defined($result)){
	#-- 投稿エラー
}else{
	#-- 投稿成功
	#-- $result にエントリーIDが入るので、保存しておく
}

metaWeblog.editPost メソッドを使ったブログ記事の編集

metaWeblog.editPost メソッドを使って、既存のブログ記事を編集する perl スクリプトは以下のような感じ。
前述の metaWeblog.newPost で取得したエントリーIDを保持している必要があります。

use XMLRPC::Lite;

#-- 投稿時に取得したエントリーID
$postid   = '00001';
#-- 以下三項目はブログサービスによって異なる
$username = 'tatsuya';
$password = 'password';
$endpoint = 'http://www.xxxx.com/xml-rpc.cgi';

$result = XMLRPC::Lite
	-> proxy($endpoint)
	-> call('metaWeblog.editPost', $postid, $username, $password,
		{
			#-- ブログ記事タイトル
			'title' => XMLRPC::Data->type('string', $entry_title),
			#-- ブログ記事本文
			'description' => XMLRPC::Data->type('string', $entry_body),
			#-- コメントを受け付けるかどうか(1でコメント受付)
			'mt_allow_comments' => 1,
			#-- トラックバックを受け付けるかどうか(1でトラックバック受付)
			'mt_allow_pings' => 1,
			#-- ブログ記事本文の「続き」部分
			'mt_text_more' => XMLRPC::Data->type('string', $entry_more),
			#-- ブログ記事の概要
			'mt_excerpt' => XMLRPC::Data->type('string', $entry_excerpt),
			#-- ブログ記事のキーワード
			'mt_keywords' => XMLRPC::Data->type('string', $entry_keyword),
		},
		1
	)
	-> result;
if(!defined($result)){
	#-- 投稿エラー
}else{
	#-- 投稿成功
}
Twitterつぶやく

Twitter始めました。Followはお気軽にどうぞ。

関連するブログ記事
スポンサード リンク
カテゴリー
perl/CGI
タグ
API | perl | xml-rpc | ブログ
現在位置
TOP > Web制作技術 > perl/CGI > perl で XML-RPC API を使ってブログ記事を投稿・編集する
前のブログ記事
XML-RPC API で投稿できるブログサービスの情報まとめ [2009年12月 7日 21:38]
次のブログ記事
自作のフォームに TinyMCE を導入して WYSIWYG エディタにする方法 [2009年12月 9日 19:22]

トラックバック(1)

このブログ記事に対するトラックバックURL:
» Perl XMLRPC::Liteモジュールでブログにカンタン投稿(「ふぉしむ」のブログ)のトラックバック [2010年2月23日 23:13]
前の記事の「カンタン投稿」は、じつは、Perlで作ってます。 WordPress は PHP だから、ぜんぜんハックしてません(笑)。 ただのCGIです。... 続きを読む

コメント(0)

コメントする


画像の中に見える文字を入力してください。

 

このブログについて

阿部辰也

Webコンサルタントやシステムエンジニア、執筆業などをやっている、グッドホープ代表・阿部辰也のブログです。
Web技術系のTipsから仕事の話、趣味の話まで色々と。
人生は所詮生まれてから死ぬまでの壮大な暇つぶし。
だったら有意義に暇をつぶして生きましょー。

Twitter: @t_abe
読書メーター: ID:t-abe

このブログのサイトマップ
このブログのはてなブックマーク数

Feed/RSS購読

タグクラウド

最近のトラックバック

阿部辰也の著書

77のキーワードで知る インターネットで稼ぐ 図解 ブログ・メルマガ・Webサイト構築の基本

77のキーワードで知る インターネットで稼ぐ 図解 ブログ・メルマガ・Webサイト構築の基本

頑張って書いたのに、出版後すぐに出版社が倒産して印税も貰えずじまいで俺涙目(笑)。

Powered by Movable Type 4.261

スポンサード リンク

はてなブックマーク



あわせて読みたい

t-abeの今読んでる本

t-abeの最近読んだ本

t-abeの今やってるゲーム

t-abeの最近やったゲーム