Box Developerドキュメント
最新バージョン

メタデータテンプレートを作成

post
https://api.box.com/2.0
/metadata_templates/schema

このエンドポイントはバージョン2024.0です。引き続き使用するために 変更は必要ありません。詳細については、 **Box APIのバージョン管理**を参照してください。

ファイルやフォルダに適用可能な新しいメタデータテンプレートを作成します。

リクエスト

bearer [ACCESS_TOKEN]
application/json

リクエスト本文

boolean本文内省略可能
true
false

ファイルまたはフォルダをコピーするときに、追加されているメタデータをコピーするかどうか。デフォルトでは、ファイルまたはフォルダのコピー時に、メタデータは一緒にコピーされません。

string本文内必須
"Product Info"
4096

テンプレートの表示名。

object array本文内省略可能

テンプレートに含まれるテンプレートフィールドの並べ替えられたリスト。各フィールドは、通常のテキストフィールド、日付フィールド、数値フィールド、単一または複数選択リストのいずれかになります。

string本文内条件付きで必須
"string"

フィールドのタイプ。基本のフィールドは、テキストを表すstringフィールド、数値を表すfloatフィールド、およびユーザーに日時選択機能を表示するためのdateフィールドです。

さらに、メタデータテンプレートは、基本の項目リストを表すenumフィールドのほか、ユーザーが複数の値を選択できる同様の項目リストを表す multiSelectフィールドをサポートしています。

次の値のいずれか1つ: string,float,date,enum,multiSelect

string本文内省略可能
"The category"
4096

フィールドの説明。ユーザーには表示されません。

string本文内条件付きで必須
"Category"
4096

ウェブアプリおよびモバイルアプリでユーザーに表示されるフィールドの表示名。

boolean本文内省略可能
true

このフィールドをUI上でユーザーに対して非表示にし、代わりにAPIを介してのみ設定できるようにするかどうか。

string本文内条件付きで必須
"category"
256

フィールドの一意の識別子。この識別子は、そのフィールドが属するテンプレート内で一意である必要があります。

object array本文内省略可能

このフィールドのオプションのリスト。enumおよびmultiSelectフィールドタイプと組み合わせて使用します。

string本文内条件付きで必須
"Category 1"

オプションのテキスト値。オプションの表示名と、テンプレートの更新時に使用される内部キーの両方を表します。

boolean本文内省略可能
true
false

このテンプレートをBoxウェブアプリのUIに表示するか、APIを介した使用のみを目的とするかを定義します。

string本文内必須
"enterprise"

作成するメタデータテンプレートのスコープ。アプリケーションで作成できるのは、認証済みユーザーの会社内で使用するテンプレートのみです。

この値はenterpriseに設定する必要があります。globalスコープはアプリケーションで作成できないからです。

string本文内省略可能
^[a-zA-Z_][-a-zA-Z0-9_]*$
"productInfo"
64

テンプレートの一意の識別子。この識別子は、メタデータテンプレート作成の対象となる会社全体で一意である必要があります。

指定しなかった場合、APIによりdisplayNameの値に基づいて一意のtemplateKeyが作成されます。

レスポンス

作成されたメタデータテンプレートを表すスキーマ。

リクエストのパラメータまたは本文が無効な場合に返されます。

  • bad_request - 本文に有効なリクエストが含まれていない場合に返されます。多くの場合、このレスポンスには、不足しているフィールドに関する追加の詳細が含まれます。

ユーザーにメタデータテンプレートを作成する権限がない場合に返されます。その理由はいくつかありますが、最も一般的なのは、ユーザーが (共同) 管理者権限を持っていないこと、またはアプリケーションがglobalスコープのテンプレートを作成しようとしていることです。

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

post
メタデータテンプレートを作成
このドキュメント内で一部のAPIを試せるようになりました。
ログイン

リクエストの例

cURL
curl -i -X POST "https://api.box.com/2.0/metadata_templates/schema" \
     -H "authorization: Bearer <ACCESS_TOKEN>" \
     -H "content-type: application/json" \
     -d '{
      "scope": "enterprise",
      "displayName": "Customer",
      "fields": [
        {
          "type": "string",
          "key": "name",
          "displayName": "Name",
          "description": "The customer name",
          "hidden": false
        },
        {
          "type": "date",
          "key": "last_contacted_at",
          "displayName": "Last Contacted At",
          "description": "When this customer was last contacted at",
          "hidden": false
        },
        {
          "type": "enum",
          "key": "industry",
          "displayName": "Industry",
          "options": [
            {"key": "Technology"},
            {"key": "Healthcare"},
            {"key": "Legal"}
          ]
        },
        {
          "type": "multiSelect",
          "key": "role",
          "displayName": "Contact Role",
          "options": [
            {"key": "Developer"},
            {"key": "Business Owner"},
            {"key": "Marketing"},
            {"key": "Legal"},
            {"key": "Sales"}
          ]
        }
      ]
    }'

レスポンスの例

{
  "id": "58063d82-4128-7b43-bba9-92f706befcdf",
  "type": "metadata_template",
  "copyInstanceOnItemCopy": true,
  "displayName": "Product Info",
  "fields": [
    {
      "description": "The category",
      "displayName": "Category",
      "hidden": true,
      "key": "category",
      "options": [
        {
          "key": "Category 1",
          "id": "45dc2849-a4a7-40a9-a751-4a699a589190"
        }
      ],
      "type": "string",
      "id": "822227e0-47a5-921b-88a8-494760b2e6d2"
    }
  ],
  "hidden": true,
  "scope": "enterprise_123456",
  "templateKey": "productInfo"
}