コンテンツにスキップ

$p.apiMoveSite

概要

スクリプトからサイトの親サイト(フォルダ階層)を変更します。

サイト移動のAPIをスクリプトから呼び出すためのラッパー関数です。テーブルの管理の「スクリプト」タブに設定したスクリプトや、ブラウザの開発者ツールのコンソールから実行できます。移動対象のサイトが持つ子サイトは、親サイトに追随して移動します。子サイトに対して個別に本関数を実行する必要はありません。

注意事項

  1. 移動してもサイトの「権限の継承元」(InheritPermission)は変更されません。移動先に合わせて権限の継承を変更する場合は、別途$p.apiUpdateSiteまたはサイトの設定画面から変更してください。

制限事項

  1. 移動先にはフォルダ(参照タイプが「Sites」のサイト)のみ指定できます。テーブル(期限付き、記録、Wiki等)を移動先に指定した場合は fail が呼び出されます。
  2. 移動対象のサイト自身、および移動対象のサイトの子孫にあたるサイトは移動先に指定できません。指定した場合は fail が呼び出されます。
  3. 移動先には、スクリプトを実行するユーザと同じテナントのサイトのみ指定できます。
  4. $p.apiUpdateSiteの ParentId はサイトの移動には使用できません。サイトを移動する場合は本関数を使用してください。

前提条件

  1. Api.jsonの Enabled パラメータが true に設定されていること。
  2. 移動対象のサイト、移動対象のサイトの親サイト(移動元)、および移動先のサイトの管理権限をもつユーザであること。移動対象のサイトがトップ直下にある場合、移動元の親サイトの管理権限は不要です。スクリプトはログインユーザの権限で実行されます。

    移動前と移動後のサイトの階層。フォルダAの下のフォルダXを、フォルダBの下へ移動する。サイトの管理権限が必要なのは、移動元の親サイト(フォルダA)・移動対象のサイト(フォルダX)・移動先のサイト(フォルダB)の3つ。子サイトはフォルダXと一緒に移動する

  3. User.jsonの DisableTopSiteCreation が true の場合、移動先にトップ(ParentId に 0)を指定するには「ユーザの管理」で「サイトトップへの作成を許可」が有効なユーザであること。

  4. User.jsonの DisableMovingFromTopSite が true の場合、トップ直下のサイトを移動するには「ユーザの管理」で「サイトトップからの移動を許可」が有効なユーザであること。

構文

$p.apiMoveSite({
    id: (移動するサイトのサイトID),
    data: { ParentId: (移動先の親サイトID) },
    done: (任意の処理),
    fail: (任意の処理),
    always: (任意の処理)
});

パラメータ

パラメータ名 型 必須 概要
id long ○ 移動するサイトのサイトID
data object ○ 移動先。ParentId に移動先の親サイトIDを指定。0を指定した場合はトップに移動
done function ○ API通信成功時の処理
fail function - API通信失敗時の処理
always function - 完了時の処理

APIキーの指定は不要です。ログインしているブラウザのセッションで実行されます。

戻り値

done および fail には、サイト移動のAPIと同じレスポンスが渡されます。

パラメータ名 型 概要
Id long 移動したサイトのサイトID
StatusCode int HTTPステータスコード
Message string 処理結果のメッセージ

移動できた場合、done に下記が渡されます。

{
    "Id": 12345,
    "StatusCode": 200,
    "Message": "\" 営業部 \" を移動しました。"
}

主なエラー時に fail へ渡される値は下記の通りです。

StatusCode Message 発生条件
400 要求が不正です。 ParentId が指定されていない場合。
403 この操作を行うための権限がありません。 移動対象のサイト、移動元の親サイト、または移動先のサイトの管理権限が無い場合。トップへの移動やトップからの移動が許可されていない場合。
404 指定された情報は見つかりませんでした。 移動対象または移動先のサイトが存在しない場合。移動先が別のテナントのサイトである場合。
500 この操作は行なえません。 移動先がフォルダ以外の場合。移動先に移動対象のサイト自身または移動対象のサイトの子孫を指定した場合。

使用例

フォルダの配下へ移動する

サイトID「12345」のサイトを、サイトID「12300」のフォルダの配下へ移動します。

$p.apiMoveSite({
    id: 12345,
    data: { ParentId: 12300 },
    done: function (data) {
        console.log(data);
        console.log('サイトの移動に成功しました。');
    },
    fail: function (data) {
        console.log('サイトの移動に失敗しました。');
    },
    always: function () {
        console.log('サイトの移動が完了しました。');
    }
});

トップへ移動する

ParentId に 0 を指定すると、サイトはトップに移動されます。

$p.apiMoveSite({
    id: 12345,
    data: { ParentId: 0 },
    done: function (data) {
        console.log(data);
    }
});

対応バージョン

対応バージョン 内容
1.5.9.0 以降 機能追加

関連情報