PHP用Data APIライブラリ(その6・オブジェクトの更新)

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

なお、ライブラリに一部不具合がありましたので、修正しました。

1.修正版のダウンロード

修正版は以下からダウンロードします。

ダウンロード

2.メソッドの一覧

オブジェクトを更新するメソッドは、「update○○○」のような名前になっています。

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

  • updateUser(user_id, object)
  • updateEntry(site_id, entry_id, object)
  • updateComment(site_id, comment_id, object)
  • updateTrackback(site_id, ping_id, object)
  • updateCategory(site_id, category_id, object)
  • updateFolder(site_id, folder_id, object)
  • updateAsset(site_id, asset_id, object)
  • updateEntry(site_id, entry_id, object)
  • updatePage(site_id, page_id, object)
  • updateSite(site_id, object)
  • updateRole(role_id, object)
  • updateLog(site_id, log_id, object)
  • updateTemplate(site_id, template_id, object)
  • updateTemplatemap(site_id, template_id, templatemap_id, object)
  • updateWidgetset(site_id, widgetset_id, object)
  • updateWidget(site_id, widget_id, object)
  • updateField(site_id, field_id, object)
  • updateFormattedText(site_id, formatted_text_id, object)

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

site_idなど、○○○_idのパラメータには、更新するオブジェクトを特定するIDを指定します。
○○○_idのパラメータが複数ある場合、最後のIDのパラメータがオブジェクト自体のIDで、その前のパラメータは親のオブジェクトのIDを表します。
また、最後のobjectのパラメータには、更新するオブジェクトを表す連想配列を指定します。
連想配列の個々のキーが、作成するオブジェクトのフィールド名に対応します。

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

4.メソッドの戻り値

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

5.事例

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

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' => '更新後のタイトル');
$response = $api->updateEntry(1, 10, $entry);
if (isset($response['error'])) {
    記事更新失敗時の処理
}
else {
    記事更新成功時の処理
}