Box Developerドキュメント

ファイルにBox Skillカードを作成

post
https://api.box.com/2.0
/files/:file_id/metadata/global/boxSkillsCards

ファイルに1つ以上のBox Skillsメタデータカードを適用します。

リクエスト

bearer [ACCESS_TOKEN]
application/json

パスパラメータ

stringパス内必須
12345

ファイルを表す一意の識別子。

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

リクエスト本文

このファイルに適用するBox Skillカードのリスト。

レスポンス

テンプレートに適用されたデータを含む、ファイルに適用されたテンプレートのインスタンスを返します。

リクエスト本文が無効な場合にエラーを返します。

  • schema_validation_failed - リクエスト本文に、存在しないフィールドか、値またはタイプが期待されるフィールドタイプと一致しないフィールドの値が含まれています。たとえば、enumまたはmultiSelectフィールドに不明なオプションが指定されている場合があります。

ファイルテンプレートまたはメタデータテンプレートが見つからなかった場合にエラーを返します。

  • not_found - ファイルが見つからないか、ユーザーがファイルにアクセスできない場合に返されます。
  • instance_tuple_not_found - メタデータテンプレートが見つかりませんでした。

このメタデータテンプレートのインスタンスがすでにファイルに存在する場合はエラーを返します。

  • tuple_already_exists - メタデータテンプレートのインスタンスがすでにファイルに存在する場合に返されます。

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

post
ファイルにBox Skillカードを作成
このドキュメント内で一部のAPIを試せるようになりました。
ログイン

リクエストの例

cURL
curl -i -X POST "https://api.box.com/2.0/files/12345/metadata/global/boxSkillsCards" \
     -H "authorization: Bearer <ACCESS_TOKEN>" \
     -H "content-type: application/json" \
     -d '{
       "cards": [{
         "type": "skill_card",
         "skill_card_type": "keyword",
         "skill_card_title": {
           "code": "license-plates",
           "message": "Licence Plates"
         },
         "skill": {
           "type": "service"
           "id": "license-plates-service"
         },
         "invocation": {
           "type": "skill_invocation"
           "id": "license-plates-service-123"
         },
         "entries": {
           { "text": "DD-26-YT" },
           { "text": "DN86 BOX" }
         }
       },{
         "type": "skill_card",
         "skill_card_type": "transcript",
         "skill_card_title": {
           "code": "video-transcription",
           "message": "Video Transcription"
         },
         "skill": {
           "type": "service"
           "id": "video-transcription-service"
         },
         "invocation": {
           "type": "skill_invocation"
           "id": "video-transcription-service-123"
         },
         "duration": 1000,
         "entries": {
           {
             "text": "Hi John, have I told you about Box recently?",
             "appears": [{ "start": 0 }]
           },
           {
             "text": "No Aaron, you have not. Tell me more!",
             "appears": [{ "start": 5 }]
           }
         }
       },{
         "type": "skill_card",
         "skill_card_type": "timeline",
         "skill_card_title": {
           "code": "face-detection",
           "message": "Faces"
         },
         "skill": {
           "type": "service"
           "id": "face-detection-service"
         },
         "invocation": {
           "type": "skill_invocation"
           "id": "face-detection-service-123"
         },
         "duration": 1000,
         "entries": {
           {
             "text": "John",
             "appears": [{ "start": 0, "end": 5 }, { "start": 10, "end": 15 }],
             "image_url": "https://example.com/john.png"
           },
           {
             "text": "Aaron",
             "appears": [{ "start": 5, "end": 10 }],
             "image_url": "https://example.com/aaron.png"
           }
         }
       },{
         "type": "skill_card",
         "skill_card_type": "status",
         "skill_card_title": {
           "code": "hold",
           "message": "Please hold..."
         },
         "skill": {
           "type": "service"
           "id": "face-detection-service"
         },
         "invocation": {
           "type": "skill_invocation"
           "id": "face-detection-service-123"
         },
         "status": {
           "code": "processing",
           "message": "We are processing this file right now."
         }
       }],
     }'
TypeScript Gen
await client.skills.createBoxSkillCardsOnFile(file.id, {
  cards: [
    {
      type: 'skill_card',
      skillCardType: 'keyword',
      skillCardTitle: { code: 'license-plates', message: titleMessage },
      skill: { id: skillId, type: 'service' },
      invocation: { id: invocationId, type: 'skill_invocation' },
      entries: [{ text: 'DN86 BOX' }],
    } satisfies KeywordSkillCardOrStatusSkillCardOrTimelineSkillCardOrTranscriptSkillCard,
  ],
} satisfies CreateBoxSkillCardsOnFileRequestBody);
Python Gen
client.skills.create_box_skill_cards_on_file(
    file.id,
    [
        KeywordSkillCard(
            type=KeywordSkillCardTypeField.SKILL_CARD.value,
            skill_card_type=KeywordSkillCardSkillCardTypeField.KEYWORD.value,
            skill_card_title=KeywordSkillCardSkillCardTitleField(
                code="license-plates", message=title_message
            ),
            skill=KeywordSkillCardSkillField(
                id=skill_id, type=KeywordSkillCardSkillTypeField.SERVICE.value
            ),
            invocation=KeywordSkillCardInvocationField(
                id=invocation_id,
                type=KeywordSkillCardInvocationTypeField.SKILL_INVOCATION.value,
            ),
            entries=[KeywordSkillCardEntriesField(text="DN86 BOX")],
        )
    ],
)

レスポンスの例

{
  "$canEdit": true,
  "$id": "01234500-12f1-1234-aa12-b1d234cb567e",
  "$parent": "folder_59449484661,",
  "$scope": "enterprise_27335",
  "$template": "properties",
  "$type": "properties-6bcba49f-ca6d-4d2a-a758-57fe6edf44d0",
  "$typeVersion": 2,
  "$version": 1,
  "cards": [
    {
      "created_at": "2018-04-13T13:53:23-07:00",
      "type": "skill_card",
      "skill_card_type": "keyword",
      "skill_card_title": {
        "code": "labels",
        "message": "Labels"
      },
      "skill": {
        "type": "service",
        "id": "image-recognition-service"
      },
      "invocation": {
        "type": "skill_invocation",
        "id": "image-recognition-service-123"
      },
      "entries": [
        {
          "text": "keyword1"
        }
      ]
    }
  ]
}