Box: ファイルに電子すかし適用 (Box: Apply Watermark to File)
この工程は、Box 上のファイルに電子すかしを適用します。
Configs:共通設定
  • 工程名
  • メモ
Configs
  • C1: OAuth2 設定 *
  • C2: 電子すかしを適用するファイル ID *

Notes

  • ファイルID は、URL に含まれています。https://{sub-domain}.app.box.com/file/(File ID)
  • Box のリフレッシュトークンには、期限があります。期限を超えないよう、定期的に利用する必要があります。(Box: トークンおよびURLの有効期限)
  • C1: OAuth2 設定で認証を得るユーザは、Box のエンタープライズユーザーアカウントが必要です。
  • 追加される透かしは、{ユーザーのメールアドレス – 日付、時刻、タイムゾーン}の形式です(例:”user@example.com – Jan 1, 2022, 9:00:00 AM PDT”)。
  • 電子すかしが適用されたファイルを「リンクを作成して共有」する際にパスワードを設定すると、共有先ではダウンロードやプレビューができなくなります(2022-10-28 現在)

Capture

See also

Script (click to open)
  • 下記のスクリプトを記述した XML ファイルをダウンロードできます
    • box-file-watermark-apply.xml (C) Questetra, Inc. (MIT License)
    • Professional をご利用であればファイルの内容を改変することでオリジナルのアドオンとして活用できます


main();
function main(){
    const oauth2 = configs.get('conf_OAuth2');
    const fileId = decideFileId();
    applyWatermark(oauth2, fileId);
}

/**
  * ファイル ID を config から読み出して出力する
  * @return {String} fileId ファイル ID
  */
function decideFileId(){
    const fileId = engine.findData(configs.getObject('conf_FileId'));
    if (fileId === '' || fileId === null) {
        throw 'File ID is blank.';
    }
    return fileId;
}

/**
  * 電子すかしを適用
  * @param {String} oauth OAuth2 設定
  * @param {String} fileId ファイル ID
  */
function applyWatermark(oauth2, fileId) {
    const jsonBody = {};
    jsonBody['watermark'] = {'imprint': 'default'};
    const url = `https://api.box.com/2.0/files/${encodeURIComponent(fileId)}/watermark`;
    const response = httpClient.begin()
        .authSetting(oauth2)
        .body(JSON.stringify(jsonBody), 'application/json; charset=UTF-8')
        .put(url);
    const status = response.getStatusCode();
    if (status !== 200 && status !== 201) { // 200: 更新, 201: 新規適用
        engine.log(response.getResponseAsString());
        throw `Failed to apply watermark. status:${status}`;
    }
}

    
%d人のブロガーが「いいね」をつけました。