PHP用Data APIライブラリ(その7・オブジェクトの削除)

PHP用Data APIライブラリで、オブジェクトを削除する方法を解説します。

1.メソッドの一覧

オブジェクトを削除するメソッドは、「delete○○○」のような名前になっています。
メソッドにより、以下のようにパラメータを1つ~3つ取ります。

  • deleteEntry(site_id, entry_id)
  • deleteComment(site_id, comment_id)
  • deleteTrackback(site_id, ping_id)
  • deleteCategory(site_id, category_id)
  • deleteFolder(site_id, folder_id)
  • deleteAsset(site_id, asset_id)
  • deletePage(site_id, page_id)
  • deleteSite(site_id)
  • deleteRole(role_id)
  • deleteLog(site_id, log_id)
  • deleteTagForSite(site_id, tag_id)
  • deleteTemplate(site_id, template_id)
  • deleteTemplatemap(site_id, template_id, templatemap_id)
  • deleteWidgetset(site_id, widgetset_id)
  • deleteWidget(site_id, widget_id)
  • deleteUser(user_id)
  • deleteField(site_id, field_id)
  • deleteFormattedText(site_id, formatted_text_id)

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

site_idなど、○○○_idのパラメータには、更新するオブジェクトを特定するIDを指定します。
○○○_idのパラメータが複数ある場合、最後のIDのパラメータがオブジェクト自体のIDで、その前のパラメータは親のオブジェクトのIDを表します。

3.メソッドの戻り値

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

4.事例

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'])) {
    認証失敗時の処理
}
$response = $api->deleteEntry(1, 10);
if (isset($response['error'])) {
    記事削除失敗時の処理
}
else {
    記事削除成功時の処理
}