Box Developerドキュメント

フォルダのメタデータインスタンスを取得

get
https://api.box.com/2.0
/folders/:folder_id/metadata/:scope/:template_key

フォルダに適用されているメタデータテンプレートのインスタンスを取得します。これは、IDが0のルートフォルダでは使用できません。

リクエスト

bearer [ACCESS_TOKEN]
application/json

パスパラメータ

stringパス内必須
12345

フォルダを表す一意の識別子。

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

Boxアカウントのルートフォルダは常にID 0で表されます。

stringパス内必須
global

メタデータテンプレートのスコープ

次の値のいずれか1つ: global,enterprise

stringパス内必須
properties

メタデータテンプレートの名前

レスポンス

ユーザーまたはアプリケーションによって定義された追加の「キー/値」ペアを含むメタデータテンプレートのインスタンス。

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

指定したメタデータテンプレートがこのフォルダに適用されていない場合、またはユーザーがこのフォルダにアクセスできない場合に返されます。

  • instance_not_found - メタデータテンプレートがフォルダに適用されていなかった場合に返されます。

メソッドが許可されなかった場合に返されます。これは、フォルダIDが無効であるか、IDが0のルートフォルダである場合によく発生します。

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

get
フォルダのメタデータインスタンスを取得
このドキュメント内で一部のAPIを試せるようになりました。
ログイン

リクエストの例

cURL
curl -i -X GET "https://api.box.com/2.0/folders/4353455/metadata/enterprise_27335/blueprintTemplate" \
     -H "authorization: Bearer <ACCESS_TOKEN>"
TypeScript Gen
await client.folderMetadata.getFolderMetadataById(
  folder.id,
  'global' as GetFolderMetadataByIdScope,
  'properties',
);
Python Gen
client.folder_metadata.get_folder_metadata_by_id(
    folder.id, GetFolderMetadataByIdScope.GLOBAL.value, "properties"
)
.NET Gen
await client.FolderMetadata.GetFolderMetadataByIdAsync(folderId: folder.Id, scope: GetFolderMetadataByIdScope.Global, templateKey: "properties");
Java
BoxFolder folder = new BoxFolder(api, "id");
Metadata metadata = folder.getMetadata();

// Unknown type metadata field, you can test for type or try to get as any type
JsonValue unknownValue = metadata.getValue("/someField");

// String or Enum metadata fields
String stringValue = metadata.getString("/author");

// Float metadata fields can be interpreted as any numeric type
float floatValue = metadata.getFloat("/price");

// Date metadata fields
Date dateValue = metadata.getDate("/deadline");
Python
metadata = client.folder(folder_id='22222').metadata(scope='enterprise', template='myMetadata').get()
print(f'Got metadata instance {metadata["$id"]}')
.NET
Dictionary<string, object> metadata = await client.MetadataManager.
    .GetFolderMetadataAsync(folderId: "11111", "enterprise", "marketingCollateral");
Node
client.folders.getMetadata('11111', client.metadata.scopes.ENTERPRISE, 'marketingCollateral')
	.then(metadata => {
		/* metadata -> {
			audience: 'internal',
			documentType: 'Q1 plans',
			competitiveDocument: 'no',
			status: 'active',
			author: 'Jones',
			currentState: 'proposal',
			'$type': 'marketingCollateral-d086c908-2498-4d3e-8a1f-01e82bfc2abe',
			'$parent': 'folder_11111',
			'$id': '2094c584-68e1-475c-a581-534a4609594e',
			'$version': 0,
			'$typeVersion': 0,
			'$template': 'marketingCollateral',
			'$scope': 'enterprise_12345' }
		*/
	});
iOS
client.metadata.get(
    forFolderWithId: "22222",
    scope: "enterprise",
    templateKey: "personnelRecord"
) { (result: Result<MetadataObject, BoxSDKError>) in
    guard case let .success(metadata) = result {
        print("Error retrieving metadata")
        return
    }

    print("Found personnel record for \(metadata.keys["name"])")
}

レスポンスの例

{
  "$canEdit": true,
  "$id": "01234500-12f1-1234-aa12-b1d234cb567e",
  "$parent": "folder_59449484661,",
  "$scope": "enterprise_27335",
  "$template": "marketingCollateral",
  "$type": "properties-6bcba49f-ca6d-4d2a-a758-57fe6edf44d0",
  "$typeVersion": 2,
  "$version": 1
}