あんまりこういうの調べる機会は無いんだけど、調べるのに時間が掛かる上にFC2のXML_RPCは仕様書が無い上にはっきりしないのでトライ・アンド・エラーで試しながら調査するしかないのが辛かった。
FC2で使えるXML_RPCメソッド一覧
$methods (array) | |
0 | blogger.getUsersBlogs |
1 | blogger.getUserInfo |
2 | blogger.newPost |
3 | blogger.editPost |
4 | blogger.deletePost |
5 | blogger.getRecentPosts |
6 | metaWeblog.newPost |
7 | metaWeblog.editPost |
8 | metaWeblog.getPost |
9 | metaWeblog.getRecentPosts |
10 | metaWeblog.newMediaObject |
11 | metaWeblog.getCategories |
12 | mt.getRecentPostTitles |
13 | mt.getCategoryList |
14 | mt.getPostCategories |
15 | mt.setPostCategories |
16 | mt.supportedMethods |
17 | mt.supportedTextFilters |
18 | mt.getTrackbackPings |
19 | mt.publishPost |
20 | mt.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ですね。
コメント