FC2ブログへXML_RPC投稿について調べたメモとサンプルコード

PHP API
この記事は 約3 分で読めます。

あんまりこういうの調べる機会は無いんだけど、調べるのに時間が掛かる上にFC2のXML_RPCは仕様書が無い上にはっきりしないのでトライ・アンド・エラーで試しながら調査するしかないのが辛かった。

PR

FC2で使えるXML_RPCメソッド一覧

$methods (array)
0blogger.getUsersBlogs
1blogger.getUserInfo
2blogger.newPost
3blogger.editPost
4blogger.deletePost
5blogger.getRecentPosts
6metaWeblog.newPost
7metaWeblog.editPost
8metaWeblog.getPost
9metaWeblog.getRecentPosts
10metaWeblog.newMediaObject
11metaWeblog.getCategories
12mt.getRecentPostTitles
13mt.getCategoryList
14mt.getPostCategories
15mt.setPostCategories
16mt.supportedMethods
17mt.supportedTextFilters
18mt.getTrackbackPings
19mt.publishPost
20mt.setNextScheduledPost

FC2ブログへXML_RPCで画像投稿

ライブラリはIXRライブラリを使用してます。

$client = new IXR_Client("{$xmlrpc}");
==== 画像投稿スクリプト ==================================================
画像がサーバーに無い場合 またはイメージサイズが取得出来ない場合はエラーでスキップする
$imgInfo = getimagesize('test.jpg');

$type = $imgInfo['mime'];

$bits = new IXR_Base64(file_get_contents('test.jpg'));
$status = $client->query(
	"metaWeblog.newMediaObject",
	1,
	$usr, // ユーザ名
	$pas, // パスワード
	array(
		'name' => 'test.jpg',
		'type' => $type,
		'bits' => $bits,
		'overwrite' => false,
	)
);
$methods=$client->getResponse();
new dBug($methods);

$statusにはBooleanしか帰ってきませんのでIF文を作る時に使えるかと。
$methodsには画像URLとアルバムURLが返ってきますから、これを投稿に挟むと画像付き記事を投稿する事が出来ます。

新規投稿で記事を投稿する場合は上記のメソッド一覧の6番metaWeblog.newPostを使えばOKですね。

コメント

トップへ戻る