PHP用Data APIライブラリ(その5・オブジェクトの作成)

Movable TypeのData APIでは、オブジェクトを作成することもできます。
PHP用Data APIライブラリも、この機能に対応しています。

1.メソッドの一覧

オブジェクトを作成するメソッドは、大半は「create○○○」のような名前になっています。
ただし、ウェブサイト/ブログの作成のみ、それぞれ「insertNewWebsite」「insertNewBlog」となっています。

メソッドにより、以下のようにパラメータを1つ~4つ取ります。

  • createEntry(site_id, object)
  • createComment(site_id, entry_id, object)
  • createReplyComment(site_id, entry_id, comment_id, object)
  • createCategory(site_id, object)
  • createFolder(site_id, object)
  • createEntry(site_id, object)
  • createPage(site_id, object)
  • createCommentForPage(site_id, page_id, object)
  • createReplyCommentForPage(site_id, page_id, comment_id, object)
  • createRole(object)
  • createLog(site_id, object)
  • createTemplate(site_id, object)
  • createTemplatemap(site_id, template_id, object)
  • createWidgetset(site_id, object)
  • createWidget(site_id, object)
  • createUser(object)
  • createField(site_id, object)
  • createFormattedText(site_id, object)
  • insertNewBlog(site_id, object)
  • insertNewWebsite(object)

2.メソッドのパラメータ

site_idなど、○○○_idのパラメータには、作成するオブジェクトから見て、親となるオブジェクトのIDを指定します。
また、最後のobjectのパラメータには、作成するオブジェクトを表す連想配列を指定します。
連想配列の個々のキーが、作成するオブジェクトのフィールド名に対応します。

作成するオブジェクトによっては、指定必須のフィールドがあります。
例えば、ブログを新規作成する場合、サイトURL(urlフィールド)と、サイトパス(sitePathフィールド)は指定必須です。

なお、各オブジェクトの表し方は、Data APIの本家ドキュメントをご参照ください。

3.メソッドの戻り値

メソッドの戻り値は、作成されたオブジェクトを表す連想配列になります。

4.事例

IDが1番のブログ(またはウェブサイト)に、記事を新規作成したいとします。
この場合、認証も含めて、以下のようなコードを実行します。

require_once('mt-data-api.php');

$api = new MTDataAPI('http://your-host/path-to-mt/mt-data-api.cgi', 'sample');
$response = $api->authenticate(array('username' => 'ユーザー名', 'password' => 'パスワード'));
if (isset($response['error'])) {
    認証失敗時の処理
}
$entry = array('title' => '記事のタイトル', 'body' => '記事の本文');
$response = $api->createEntry(1, $entry);
if (isset($response['error'])) {
    記事作成失敗時の処理
}
else {
    記事作成成功時の処理
}