Box Developerドキュメント

ファイルリクエストをコピー

post
https://api.box.com/2.0
/file_requests/:file_request_id/copy

あるフォルダにすでに存在する既存のファイルリクエストをコピーし、別のフォルダに適用します。

リクエスト

bearer [ACCESS_TOKEN]
application/json

パスパラメータ

stringパス内必須
123

ファイルリクエストを表す一意の識別子。

ファイルリクエストのIDを確認するには、ウェブアプリケーションでファイルリクエストの作成画面にアクセスして、そのURLからIDをコピーします。たとえば、URLがhttps://*.app.box.com/filerequest/123の場合、file_request_id123です。

リクエスト本文

string本文内省略可能
"Please upload required documents"

ファイルリクエストの新しい説明 (省略可)。これを使用して、ファイルリクエストの説明を変更できます。

デフォルトでは、既存のファイルリクエストの値になります。

string (date-time)本文内省略可能
"2020-09-28T10:53:43-08:00"

ファイルリクエストが新しい送信を受け付けなくなる日付。

この日付を過ぎると、statusは自動的にinactiveに設定されます。

デフォルトでは、既存のファイルリクエストの値になります。

object本文内

新しいファイルリクエストを関連付けるフォルダ。

string本文内必須
"42037322"

新しいファイルリクエストを関連付けるフォルダのID。

string本文内必須
"folder"

folder

次の値に固定: folder

boolean本文内省略可能
true

ファイルリクエストの送信者に、送信するファイルの説明の指定を義務付けるかどうか。

これをtrueに設定すると、Box UIのファイルリクエストフォームに説明フィールドが表示されます。

デフォルトでは、既存のファイルリクエストの値になります。

boolean本文内省略可能
true

ファイルリクエストの送信者に、メールアドレスの指定を義務付けるかどうか。

これをtrueに設定すると、Box UIのファイルリクエストフォームにメールフィールドが表示されます。

デフォルトでは、既存のファイルリクエストの値になります。

string本文内省略可能
"active"

ファイルリクエストの新しいステータス (省略可)。

このステータスをinactiveに設定すると、ファイルリクエストでは新しい送信を受け付けなくなり、ファイルリクエストのURLにアクセスした場合はHTTP 404ステータスコードが返されます。

デフォルトでは、既存のファイルリクエストの値になります。

次の値のいずれか1つ: active,inactive

string本文内省略可能
"Please upload required documents"

ファイルリクエストの新しいタイトル (省略可)。これを使用して、ファイルリクエストのタイトルを変更できます。

デフォルトでは、既存のファイルリクエストの値になります。

レスポンス

更新されたファイルリクエストオブジェクトを返します。

Authorizationヘッダーで指定されているアクセストークンが認識されないか、指定されていない場合に返されます。

更新を完了するための権限がユーザーに不足している場合に返されます。

  • access_denied_insufficient_permissions - 認証済みユーザーにファイルリクエストを更新するためのアクセス権限がない場合に返されます。

ファイルリクエストが見つからない場合、または関連付けられたフォルダへのアクセス権限がユーザーに与えられていない場合に返されます。

file_request_idが認識されていない形式で指定されている場合に返されます。

予期しないクライアントエラー。

post
ファイルリクエストをコピー
このドキュメント内で一部のAPIを試せるようになりました。
ログイン

リクエストの例

cURL
curl -i -X POST "https://api.box.com/2.0/file_requests/42037322/copy" \
     -H "authorization: Bearer <ACCESS_TOKEN>" \
     -d '{
       "title": "Please upload required documents",
       "description": "Please upload required documents",
       "status": "active",
       "is_email_required": true,
       "is_description_required": false,
       "folder": {
         "id": "2233212",
         "type": "folder"
       }
     }'
TypeScript Gen
await client.fileRequests.createFileRequestCopy(fileRequestId, {
  folder: {
    id: fileRequest.folder.id,
    type: 'folder' as FileRequestCopyRequestFolderTypeField,
  } satisfies FileRequestCopyRequestFolderField,
} satisfies FileRequestCopyRequest);
Python Gen
client.file_requests.create_file_request_copy(
    file_request_id,
    CreateFileRequestCopyFolder(
        id=file_request.folder.id,
        type=CreateFileRequestCopyFolderTypeField.FOLDER.value,
    ),
)
.NET Gen
await client.FileRequests.CreateFileRequestCopyAsync(fileRequestId: fileRequestId, requestBody: new FileRequestCopyRequest(folder: new FileRequestCopyRequestFolderField(id: fileRequest.Folder.Id) { Type = FileRequestCopyRequestFolderTypeField.Folder }));
Java
BoxFileRequest fileRequest = new BoxFileRequest(api, "id");
BoxFileRequest.Info fileRequestInfo = fileRequest.new Info();
fileRequestInfo.setDescription("Following documents are requested for your process");
fileRequestInfo.setIsDescriptionRequired(true);
fileRequestInfo.setStatus(BoxFileRequest.Status.ACTIVE);
fileRequestInfo = fileRequest.copyInfo(fileRequestInfo, "folderId");
Python
file_request = client.file_request(file_request_id='123456')
folder = client.folder(folder_id='123456789')
new_file_request = file_request.copy(folder=folder, title="Copied file request")
.NET
var destinationFolder = new BoxRequestEntity
{
    Id = "123456",
    Type = BoxType.folder
};

var copyRequest = new BoxFileRequestCopyRequest
{
    Description = "New file request description",
    Folder = destinationFolder
};

BoxFileRequestObject fileRequest = await client.FileRequestsManager.CopyFileRequestAsync("12345", copyRequest);
Node
client.fileRequests.copy(fileRequestId, {
  folder: {
    id: '157979815648',
    type: 'folder'
  }
}).then((r: FileRequest) => {
  // do something with the copied file request 
  console.log(r)
});
iOS
let destinationFolder = FolderEntity(id: "33333")

let copyRequest = FileRequestCopyRequest(
    title: "New file request title",
    description: "New file request description",
    isEmailRequired: true,
    isDescriptionRequired: false,
    folder: destinationFolder
)

client.fileRequests.copy(fileRequestId: "123456", copyRequest: copyRequest) { result in
    guard case let .success(fileRequest) = result else {
        print("Error copying file request")
        return
    }
    
    print("Copied file request title: \(fileRequest.title ?? "n/a"), description: \(fileRequest.description ?? "n/a")")
}

レスポンスの例

{
  "id": "42037322",
  "type": "file_request",
  "created_at": "2020-09-28T10:53:43-08:00",
  "created_by": {
    "id": "11446498",
    "type": "user",
    "login": "ceo@example.com",
    "name": "Aaron Levie"
  },
  "description": "Following documents are requested for your process",
  "etag": "1",
  "expires_at": "2020-09-28T10:53:43-08:00",
  "folder": {
    "id": "12345",
    "type": "folder",
    "etag": "1",
    "name": "Contracts",
    "sequence_id": "3"
  },
  "is_description_required": true,
  "is_email_required": true,
  "status": "active",
  "title": "Please upload documents",
  "updated_at": "2020-09-28T10:53:43-08:00",
  "updated_by": {
    "id": "11446498",
    "type": "user",
    "login": "ceo@example.com",
    "name": "Aaron Levie"
  },
  "url": "/f/19e57f40ace247278a8e3d336678c64a"
}