ブログの投稿者情報を取得する「blogger.getUserInfo」

続いてはブログの投稿者情報を取得する「blogger.getUserInfo」です。

blogger.getUserInfo
説明
 書き手さんの情報を返します。
引数

 String appkey, /* Movable Type, TypePad, ココログでは任意の文字列でよい */
 String username, /* blog のユーザ名(アカウント) */
 String password /* 上記ユーザの blog への login 用パスワード */

返り値
 成功すると、投稿可能な weblog の数の分、構造体の配列が返ってきます。
 構造体には、

 String userid, /* 当該 weblog でのユーザID */
 String firstname, /* ユーザの名前 */
 String lastname, /* ユーザの苗字 */
 String nickname, /* ユーザのニックネーム(ハンドル) */
 String email, /* ユーザの Email アドレス */
 String url /* 当該 weblog のトップページの URL */

http://www.na.rim.or.jp/~tsupo/program/blogTool/mt_xmlRpc.html

今回のblogger.getUserInfoではユーザ名とパスワードが必要となります。
必要な情報をfc2にポストするとユーザIDやブログのURLが帰ってきます。
投稿のためのPHPですが、前回の mt.supportedMethods とほぼ同様です。$message の中に $appkey, $username, $password を含めただけですね。

//投稿先
$path = '/xmlrpc.php';
$host = 'blog.fc2.com';
$port = 80;

$appkey = "適当なstring(空でもよい)";
$username = 'ユーザー名';
$password = 'パスワード';

//デバッグ
$debug = 1;

require_once('XML/RPC.php');

$client = new XML_RPC_client($path, $host, $port);
$client->setDebug($debug);
$message = new XML_RPC_Message('blogger.getUserInfo',
	array(
		new XML_RPC_Value($appkey, 'string'),
		new XML_RPC_Value($username, 'string'),
		new XML_RPC_Value($password, 'string')
	)
);
$response = $client->send($message);

このPHPスクリプトにより以下のメッセージがfc2にポストされます。

<methodCall>
<methodName>blogger.getUserInfo</methodName>
<params>
<param>
<value><string>適当なstring(空でもよい)</string></value>
</param>
<param>
<value><string>ユーザー名</string></value>
</param>
<param>
<value><string>パスワード</string></value>
</param>
</params>
</methodCall>

レスポンス内容。

<methodResponse>
<params>
<param>
<value>
	<struct>
		<member>
			<name>userid</name>
			<value>
				<string>ユーザID</string>
			</value>
		</member>
		<member>
			<name>url</name>
			<value>
				<string>http://ユーザID.blog●●.fc2.com/</string>
			</value>
		</member>
		<member>
			<name>nickname</name>
			<value></value>
		</member>
		<member>
			<name>email</name>
			<value>
				<string></string>
			</value>
		</member>
	</struct>
</value>
</param>
</params>
</methodResponse>

ユーザIDとブログのURLのみが返ってきました。ニックネームやメールアドレスは空ですね。
たいした情報は返ってこないので、あまり使うこともないと思います。

次は「blogger.getUsersBlogs」について書きたいと思います。