XML-RPC WordPress API -Media-

 XML-RPC WordPress APIを使えば、HTMLのPOSTによりWordPressを操作することができます。ここでは、XML-RPC WordPress APIにおけるメディア操作方法、すなわち、画像や音楽などのメディアを扱います。

wp.getMediaItem

 wp.getMediaItemでは、指定したメディアの情報を取り出します。以下のようにして情報を取得します。

<methodCall>
	<methodName>wp.getMediaItem</methodName>
	<params>
		<param><value><int>blog_id</int></value></param>
		<param><value><string>username</string></value></param>
		<param><value><string>password</string></value></param>
		<param><value><int>attachment_id</int></value></param>
	</params>
</methodCall>

ここで

  1. blog_id:ブログID。通常は1
  2. username:ログインID。デフォルトはadmin
  3. password:ログインパスワード
  4. attachment_id:読み込みたいメディアID

 成功すると以下の情報が返されます。

<methodResponse>
<params><param><value>
<struct>
	<member><name>attachment_id</name><value><string>メディアID</string></value></member>
	<member><name>date_created_gmt</name><value><datetime>メディアの生成時間</datetime></value></member>
	<member><name>parent</name><value><string>親記事のID</string></value></member>
	<member><name>link</name><value><string>保存URL</string></value></member>
	<member><name>title</name><value><string>タイトル</string></value></member>
	<member><name>caption</name><value><string>キャプション</string></value></member>
	<member><name>description</name><value><string>説明文</string></value></member>
	<member><name>MediaItemMetadata</name><value><metadata>メディアのメタデータ</metadata></value></member>
	<member><name>PostThumbnailImageMeta</name><value><image_meta>サムネイルのメタデータ</image_meta></value></member>
	<member><name>thumbnail</name><value><string>サムネイルのURL</string></value></member>
</struct>
</value></param></params>
</methodResponse>

意味は以下の通りです。

  1. attachment_id:メディアのID
  2. date_created_gm:メディアが保存された時間
  3. parent:メディアが使用された親となる記事
  4. link:メディアの保存先のURL
  5. title:メディアのタイトル
  6. caption:メディアのキャプション
  7. description:メディアの説明文
  8. thumbnail:サムネイルのURL

MediaItemMetadataとPostThumbnailImageMetaについてはstruct形式でさらに詳細情報が入っています。以下のとおりです。

MediaItemMetadata

 メディアの詳細データが入っています。struct形式で以下のようなmember構成になっています。

name データ形式 意味
width int
height int 高さ
file string uploadファイルからのパス(例:2010/07/foo.jpg)
sizes struct thumbnail,medium,large,post-thumbnailのサイズ情報(MediaItemSize)

MediaItemSizeに関してのmember構成は以下のようになっています。

name データ形成 意味
file string ファイル名(例:foo.jpg)
width string
height string 高さ
mime-type string MIMEタイプ(image/jpegなど)

PostThumbnailImageMeta

 サムネイルの情報が入っています。member構成は以下の通りです。

name データ形成 意味
aperture int アパチャー
credit string
camera string カメラ
caption string キャプション
created_timestamp int
copyright string コピーライト
focal_length int
iso int
shutter_speed int シャッターの速さ
title string タイトル

wp.getMediaLibrary

 登録されているメディアの一覧を取得します。以下のようにして情報を取得します。

<methodCall>
	<methodName>wp.getMediaLibrary</methodName>
	<params>
		<param><value><int>blog_id</int></value></param>
		<param><value><string>username</string></value></param>
		<param><value><string>password</string></value></param>
		<param><value>
			<struct>
				<member><name>number</name><value><int>読み込み数</int></value></member>
				<member><name>offset</name><value><int>オフセット</int></value></member>
				<member><name>parent_id</name><value><int></int></value></member>
				<member><name>mime_type</name><value><string>MIMEタイプ</string></value></member>
			</struct>
		</value></param>
	</params>
</methodCall>

ここで

  1. blog_id:ブログID。通常は1
  2. username:ログインID。デフォルトはadmin
  3. password:ログインパスワード

です。最後のstructは任意です。意味は以下の通りです。

  1. number:読み込むメディアの数
  2. offset:読み込みを開始する場所
  3. parent_id
  4. mime_type:読み込むMIMEタイプ(image/jpeg,image/pngとか)

成功するとarrayでwp.getMediaItemで得られたメディアの情報が取得できます。

wp.uploadFile

 メディアをアップロードする際に使用します。命令は以下の通りです。

<methodCall>
	<methodName>wp.uploadFile</methodName>
	<params>
		<param><value><int>blog_id</int></value></param>
		<param><value><string>username</string></value></param>
		<param><value><string>password</string></value></param>
		<param><value><struct>data</struct></value></param>
	</params>
</methodCall>

ここで、dataのstructのmember構成は以下の通りです。

name データ型 意味
name string ファイル名
type string MIMEタイプ
bits string データのバイナリデータ
overwrite bool 同じデータ名のファイルに対し上書きするかどうか
post_id post_id

成功するとstruct値が返ってきます。member構成は以下の通りです。

name データ型 意味
id string メディアのID
file string uploadからのパス
url string ファイルのURL
type string MIMEタイプ

著者:安井 真人(やすい まさと)