SlackチャンネルをBox項目にマッピングすることで、Slack統合マッピングを作成します。
このエンドポイントを使用するには、管理者または共同管理者の役割が必要です。
Slackタイプの統合マッピングのBox項目オブジェクトのスキーマ
"1234567891"
(type
で参照されるタイプの) マッピングされた項目のID
"folder"
id
で参照されるマッピングされた項目のタイプ
次の値に固定: folder
Slackタイプの統合マッピングオプションオブジェクトのスキーマ。
true
基になるBox項目に対するチャンネルメンバーのアクセスを自動で管理する必要があるかどうかを示します。チャンネルのタイプによっては、アクセスがコラボレーションまたは共有リンクの作成により管理されます。
Slackタイプの統合マッピングのマッピングされた項目オブジェクトのスキーマ。
Box for Slackがオーガナイゼーションレベルとワークスペースレベルのどちらでインストールされているかに応じて、slack_org_id
またはslack_workspace_id
のいずれかを指定します。両方のパラメータを同時に使用しないでください。
"C12378991223"
(type
で参照されるタイプの) マッピングされた項目のID
"channel"
id
で参照されるマッピングされた項目のタイプ
次の値に固定: channel
"E1234567"
項目が関連付けられているSlackオーガナイゼーションのID。このパラメータは、オーガナイゼーションレベルでBox for Slackがインストールされている場合に使用します。slack_workspace_id
を同時に使用しないでください。
"T12352314"
項目が関連付けられているSlackワークスペースのID。このパラメータは、ワークスペースレベルでBox for Slackがインストールされている場合に使用します。slack_org_id
を同時に使用しないでください。
作成された統合マッピングを返します。
誤ったoptions
が指定された場合またはBoxフォルダをこのpartner_item_id
にマッピングできない場合にbad_request
を返します。エラーコードは以下のとおりです。
SERVICE_ACCOUNT_IS_NOT_A_COOWNER_OR_OWNER
- サービスアカウントに共同所有者のコラボレ ーションがないか、サービスアカウントがbox_item_id
の所有者ではありません。CHANNEL_ALREADY_MAPPED
- チャンネルがすでに別のbox_item_id
にマッピングされています。CHANNEL_NOT_FOUND
- チャンネルが見つかりませんでした。CHANNEL_NOT_SUITABLE_FOR_CFS
- コネクトチャンネルのため、SlackのコンテンツレイヤーとしてBoxを使用するのに適していません。BOX_ENTERPRISE_MISMATCH
- Boxフォルダは、BoxをSlackのコンテンツレイヤーとして使用するよう構成されている企業が所有している必要があります。CFS_DISABLED
- SlackのコンテンツレイヤーとしてのBoxの使用を、指定したSlackワークスペースまたはオーガナイゼーションに対して有効にする必要があります。BOX_FOLDER_EXTERNALLY_OWNED
- Boxフォルダは、管理者の企業内で所有されている必要があります。JWT_APP_NOT_AUTHORIZED
- JWT承認エラー。統合マッピングが見つからなかった場合、not_found
エラーを返します。
予期しないクライアントエラー。
curl -X -L POST "https://api.box.com/2.0/integration_mappings/slack" \
-H "authorization: Bearer <ACCESS_TOKEN>" \
-H 'content-type: application/json' \
-d '{
"partner_item": {
"id": "C987654321",
"type": "channel",
"slack_workspace_id": "T5555555"
},
"box_item": {
"id": "123456789",
"type": "folder"
}
}'
await userClient.integrationMappings.createSlackIntegrationMapping({
partnerItem: new IntegrationMappingPartnerItemSlack({
id: partnerItemId,
slackOrgId: slackOrgId,
}),
boxItem: new IntegrationMappingBoxItemSlack({ id: folder.id }),
} satisfies IntegrationMappingSlackCreateRequest);
user_client.integration_mappings.create_slack_integration_mapping(
IntegrationMappingPartnerItemSlack(id=partner_item_id, slack_org_id=slack_org_id),
IntegrationMappingBoxItemSlack(id=folder.id),
)
await userClient.IntegrationMappings.CreateSlackIntegrationMappingAsync(requestBody: new IntegrationMappingSlackCreateRequest(partnerItem: new IntegrationMappingPartnerItemSlack(id: partnerItemId) { SlackOrgId = slackOrgId }, boxItem: new IntegrationMappingBoxItemSlack(id: folder.Id)));
const mapping = await client.integrationMappings.createSlackIntegrationMapping({
partner_item: {
type: 'channel',
id: 'C12378991223',
slack_org_id: 'E1234567'
},
box_item: {
id: '12345',
type: 'folder',
}
});
console.log(
`Slack integration mapping with id ${mapping.id} was created`
);
{
"id": "12345",
"type": "integration_mapping",
"box_item": {
"id": "12345",
"type": "folder",
"etag": "1",
"name": "Contracts",
"sequence_id": "3"
},
"created_at": "2012-12-12T10:53:43-08:00",
"created_by": {
"id": "11446498",
"type": "user",
"login": "ceo@example.com",
"name": "Aaron Levie"
},
"integration_type": "slack",
"is_manually_created": true,
"modified_at": "2012-12-12T10:53:43-08:00",
"modified_by": {
"id": "11446498",
"type": "user",
"login": "ceo@example.com",
"name": "Aaron Levie"
},
"options": {
"is_access_management_disabled": true
},
"partner_item": {
"id": "C12378991223",
"type": "channel",
"slack_org_id": "E1234567"
}
}