
Box: ファイルに電子すかし適用
この工程は、Box 上のファイルに電子すかしを適用します。
Basic Configs
- 工程名
- メモ
Configs for this Auto Step
- conf_OAuth2
- C1: OAuth2 設定 *
- conf_FileId
- 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 のワークフロー基盤では、ファイル内容を改変しオリジナルのアドオン自動工程として活用できます
function main(){
const oauth2 = configs.getObject("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 {AuthSettingWrapper} oauth2 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}`;
}
}