Box Developerドキュメント

Box Developerドキュメントの新しいベータ版サイトがまもなくリリースされる予定です。最新の開発者向けガイド、APIリファレンス、AI搭載の検索により、Boxを使用した迅速な開発をサポートします。更新情報については今しばらくお待ちください。

タスクの作成

ガイド タスク タスクの作成

タスクの作成

タスクを作成するには、タスクのactionと、タスクの追加先となるファイルを表すitemを指定してPOST /tasks APIを呼び出す必要があります。

cURL
curl -i -X POST "https://api.box.com/2.0/tasks" \
     -H "authorization: Bearer <ACCESS_TOKEN>" \
     -H "content-type: application/json" \
     -d '{
       "item": {
         "id": "11446498",
         "type": "file"
       },
       "action": "review"
     }'
Node/TypeScript v10
await client.tasks.createTask({
  item: {
    type: 'file' as CreateTaskRequestBodyItemTypeField,
    id: file.id,
  } satisfies CreateTaskRequestBodyItemField,
  message: 'test message',
  dueAt: dateTime,
  action: 'review' as CreateTaskRequestBodyActionField,
  completionRule: 'all_assignees' as CreateTaskRequestBodyCompletionRuleField,
} satisfies CreateTaskRequestBody);
Python v10
client.tasks.create_task(
    CreateTaskItem(type=CreateTaskItemTypeField.FILE, id=file.id),
    action=CreateTaskAction.REVIEW,
    message="test message",
    due_at=date_time,
    completion_rule=CreateTaskCompletionRule.ALL_ASSIGNEES,
)
.NET v10
await client.Tasks.CreateTaskAsync(requestBody: new CreateTaskRequestBody(item: new CreateTaskRequestBodyItemField() { Type = CreateTaskRequestBodyItemTypeField.File, Id = file.Id }) { Message = "test message", DueAt = dateTime, Action = CreateTaskRequestBodyActionField.Review, CompletionRule = CreateTaskRequestBodyCompletionRuleField.AllAssignees });
Swift v10
try await client.tasks.createTask(requestBody: CreateTaskRequestBody(item: CreateTaskRequestBodyItemField(type: CreateTaskRequestBodyItemTypeField.file, id: file.id), message: "test message", dueAt: dateTime, action: CreateTaskRequestBodyActionField.review, completionRule: CreateTaskRequestBodyCompletionRuleField.allAssignees))
Java v10
client.getTasks().createTask(new CreateTaskRequestBody.Builder(new CreateTaskRequestBodyItemField.Builder().id(file.getId()).type(CreateTaskRequestBodyItemTypeField.FILE).build()).action(CreateTaskRequestBodyActionField.REVIEW).message("test message").dueAt(dateTime).completionRule(CreateTaskRequestBodyCompletionRuleField.ALL_ASSIGNEES).build())
.NET v6
await client.Tasks.CreateTaskAsync(requestBody: new CreateTaskRequestBody(item: new CreateTaskRequestBodyItemField() { Type = CreateTaskRequestBodyItemTypeField.File, Id = file.Id }) { Message = "test message", DueAt = dateTime, Action = CreateTaskRequestBodyActionField.Review, CompletionRule = CreateTaskRequestBodyCompletionRuleField.AllAssignees });
Node v4
await client.tasks.createTask({
  item: {
    type: 'file' as CreateTaskRequestBodyItemTypeField,
    id: file.id,
  } satisfies CreateTaskRequestBodyItemField,
  message: 'test message',
  dueAt: dateTime,
  action: 'review' as CreateTaskRequestBodyActionField,
  completionRule: 'all_assignees' as CreateTaskRequestBodyCompletionRuleField,
} satisfies CreateTaskRequestBody);

タスクのアクション

Boxは現在、action値によって定義される、reviewcompleteという2種類のタスクをサポートしています。

タスクのタイプによって、タスクがなりうる解決状態と、ウェブアプリおよびモバイルアプリでユーザーに表示されるインターフェースが決まります。

タスクのアクション考えられる解決状態
reviewincomplete, approved, rejected
completeincomplete, complete

reviewタスクはincomplete状態で開始され、incompleteapproved、またはrejectedとしてマークすることができます。ユーザーインターフェースには、テキストボックスのほか、タスクを承認または拒否する1組のボタンが表示されます。

completeタスクはincomplete状態で開始され、incompleteまたはcompletedとしてマークすることができます。このタスクが完了としてマークされると、タスクの状態をそれ以上変更することはできなくなります。ユーザーインターフェースには、テキストボックスのほか、タスクを完了としてマークするためのボタンが表示されます。

完了のルール

ファイルに関連するタスクは、そのファイルの複数のコラボレータに割り当てることができます。また、タスクのcompletion_ruleを使用すると、タスクを完了する必要があるのはタスクが割り当てられているすべてのユーザー (all_assignees) か1人の担当者のみ (any_assignee) かを定義できます。