ユーザーのコンテンツまたは会社全体でファイル、フォルダ、ウェブリンク、および共有ファイルを検索します。
file
このタイプの項目に検索結果を絞り込みます。このパラメータが受け取る値は1つだけです 。デフォルトでは、このAPIによって、以下のいずれかのタイプと一致する項目が返されます。
file
- 検索結果をファイルに絞り込みます。folder
- 検索結果をフォルダに絞り込みます。web_link
- 検索結果をウェブリンク (ブックマークとも呼ばれます) に絞り込みます。次の値のいずれか1つ: file
,folder
,web_link
4535234,234123235,2654345
フォルダIDのコンマ区切りリストとして定義された、指定したフォルダリスト内の項目のみに検索結果を絞り込みます。
検索結果には、これらの先祖フォルダのサブフォルダ内の項目も含まれます。
フォルダは現在認証されているユーザーによって所有または共有されている必要もあります。このユーザーがフォルダにアクセスできない場合、またはフォルダがない場合は、代わりにHTTP 404
エラーコードが返されます。
会社全体で検索するには、サポートチームにリクエスト可能なenterprise_content
スコープパラメータを使用することをお勧めします。
name,description
ファイルの説明など、ファイルの特定の部分に対する検索クエリと一致する項目のみに検索結果を絞り込みます。
コンテンツタイプの定義には、Boxで認識されるコンテンツタイプのコンマ区切りリストを使用します。許可されるコンテンツタイプは以下のとおりです。
name
- name
フィールドで定義されている、項目の名前。description
- description
フィールドで定義されている、項目の説明。file_content
- ファイルの実際のコンテンツ。comments
- ファイルまたはフォルダに対するコメントのコンテンツ。tags
- tags
フィールドで定義されている、項目に適用されるタグ。2014-05-15T13:35:01-07:00,2014-05-17T13:35:01-07:00
指定した日付範囲内に作成されたすべての項目に検索結果を絞り込みます。
日付範囲はコンマ区切りのRFC3339タイムスタンプとして定義されます。
開始日が省略されている場合 (,2014-05-17T13:35:01-07:00
)、終了日より前に作成された項目がすべて返されます。
終了日が省略されている場合 (2014-05-15T13:35:01-07:00,
)、代わりに現在の日付が終了日として使用されます。
["2014-05-15T13:35:01-07:00","2014-05-17T13:35:01-07:00"]
指定した日付範囲内に削除されたすべての項目に検索結果を絞り込みます。
日付範囲はコンマ区切りのRFC3339タイムスタンプとして定義されます。
開始日が省略されている場合 (2014-05-17T13:35:01-07:00
)、終了日より前に削除された項目がすべて返 されます。
終了日が省略されている場合 (2014-05-15T13:35:01-07:00
)、代わりに現在の日付が終了日として使用されます。
trash_content
パラメータはtrashed_only
に設定する必要があります。
ごみ箱内検索が実行されていない場合は、空の結果が返されます。
2023年2月1日以降利用できるデータです。
["123422","23532","3241212"]
指定したユーザーリスト (ユーザーIDのコンマ区切りリストとして定義) によって削除された項目に検索結果を絞り込みます。
trash_content
パラメータはtrashed_only
に設定する必要があります。
ごみ箱内検索が実行されていない場合は、空の結果セットが返されます。検索結果に項目が表示されるように、項目は現在認証されているユーザーによって所有または共有されている必要があります。
いずれかのユーザーが所有するファイルにユーザーがアクセスできない場合は、空の結果セットが返されます。
2023年2月1日以降利用できるデータです。
ASC
"DESC"
検索結果の並べ替えの方向を定義します。このパラメータが明示的に指定されていない限り、このAPIはデフォルトで、降順 (DESC
) で項目を返します。
結果がrelevance
を基準にして並べ替えられると、関連度の降順で項目が返されるよう並べ替えはロックされ、このパラメータは無視されます。
次の値のいずれか1つ: DESC
,ASC
id,type,name
レスポンスに含める属性のコンマ区切りリスト。このパラメータを使用すると、標準のレスポン スには通常含まれないフィールドをリクエストできます。
このパラメータを指定すると、明示的に指定しない限り標準フィールドはレスポンスに含まれず、リクエストしたフィールドのほかには、Mini版の表示のフィールドしか返されないことに注意してください。
pdf,png,gif
指定したファイル拡張子のいずれかと一致するファイルのみに検索結果を絞り込みます。このリストは、ドットなしのファイル拡張子のコンマ区切りリストです。
100
30
200
結果ページの一部として返す項目の最大数を定義します。
[{"filters":[{"category":"online"},{"contractValue":100000}],"scope":"enterprise","templateKey":"contract"}]
指定したフィルタとメタデータが一致する項目のみに検索結果を絞り込みます。このパラメータは、検索結果のフィルタに使用するメタデータテンプレートを1つだけ指定するリストです。このパラメータは、query
パラメータが指定されていない場合に必須です。
1000
0
レスポンスが開始される項目のオフセット。
オフセットパラメータ値が10,000を超えているクエリは拒否され、400レスポンスが返されます。
123422,23532,3241212
指定した所有者リスト (ユーザーIDのコンマ区切りリストとして定義) によって所有される項目のみに検索結果を絞り込みます。
検索結果に項目が表示されるように、項目は現在認証されているユーザーによって所有または共有されている必要もあります。いずれかのユーザーが所有するファイルにユーザーがアクセスできない場合は、空の結果セットが返されます。
会社全体で検索するには、サポートチームにリクエスト可能なenterprise_content
スコープパラメータを使用することをお勧めします。
sales
検索する文字列。このクエリは、項目名、説明、ファイルのテキストコンテンツなど、さまざまな項目タイプのフィールドと照合されます。
このパラメータでは、返された結果をさらに絞り込むためのさまざまな演算子がサポートされます。
""
- クエリを二重引用符で囲むと、APIによって完全一致のみが返されます。完全一致検索では、特定の文字の並びに基づいた検索結果は返されません。 代わりに、フレーズ (つまり、単語の並び) に基づいた一致が返されます。たとえば、"Blue-Box"
を検索すると、"blue.box"
、"Blue Box"
、"Blue-Box"
などの並びを含む、検索結果が返されます。つまり、Blue
およびBox
という単語が指定した順序で連続して含まれている項目です。AND
- 両方の検索語句を含む項目が返されます。たとえば、marketing AND BoxWorks
を検索すると、marketing
とBoxWorks
の両方が任意の順番でテキストに含まれている項目が返されます。テキストにBoxWorks
のみが含まれる結果は返されません。OR
- 検索語句のいずれかを含む項目が返されます。たとえば、marketing OR BoxWorks
を検索すると、marketing
とBoxWorks
のいずれかがテキストに含まれている結果が返されます。サポートされている別のブール条件が使用されている場合を除き、複数語のクエリは暗黙的にOR
として解釈されるため、この演算子の使用は必須ではありません。NOT
- 指定された検索語句が含まれていない項目が返されます。たとえば、marketing AND NOT BoxWorks
を検索すると、テキストにmarketing
のみが含まれている結果が返され、BoxWorks
が含まれる結果は省略されます。小文字の演算子 (and
、or
およびnot
) および大文字と小文字を組み合わせた演算子 (And
、Or
およびNot
) はサポートされていません。
このフィールドは、mdfilters
パラメータが定義さ れていない場合に必須です。
123422,23532,3241212
指定したユーザーリスト (ユーザーIDのコンマ区切りリストとして定義) によって更新された項目のみに検索結果を絞り込みます。
検索結果に項目が表示されるように、項目は現在認証されているユーザーによって所有または共有されている必要もあります。いずれかのユーザーが所有するファイルにユーザーがアクセスできない場合は、空の結果セットが返されます。
この機能では、項目の過去10バージョンのみを検索します。
user_content
"user_content"
ユーザーがアクセスできるファイルまたは会社全体で利用可能なファイルに検索結果を絞り込みます。
スコープは、デフォルトでuser_content
に設定されます。これにより、検索結果は、現在認証されているユーザーが使用できるコンテンツに絞り込まれます。
enterprise_content
は、管理者がサポートチャネルを通じてリクエストできます。このスコープがユーザーに対して有効になっていると、そのユーザーは、アクセスできるコンテンツだけでなく、会社全体のコンテンツに対してクエリを実行できます。
次の値のいずれか1つ: user_content
,enterprise_content
1000000,5000000
特定のファイルサイズ範囲内のサイズの項目に検索結果を絞り込みます。これはファイルとフォルダに適用されます。
サイズ範囲は、バイトサイズの下限と上限 (下限と上限も含む) のコンマ区切りリストとして定義します。
上限または下限を省略すると、上限または下限のないサイズ範囲を指 定できます。
modified_at
"relevance"
結果が返される順序を定義します。このパラメータが明示的に指定されていない限り、このAPIはデフォルトで、関連度を基準として項目を返します。
relevance
(デフォルト) を指定すると、クエリの検索語句との関連度を基準として並べ替えられた結果が返されます。関連度は、項目の名前、説明、コンテンツ、およびその他のプロパティでの検索語句の出現回数に基づきます。modified_at
を指定すると、項目が最後に変更された日付を基準にして降順で並べ替えられた結果が返されます。次の値のいずれか1つ: modified_at
,relevance
non_trashed_only
"non_trashed_only"
検索時にごみ箱で項目を探すかどうかを決定します。
デフォルトでは、このAPIで返されるのは、現在ごみ箱にない項目の検索結果のみです (non_trashed_only
)。
trashed_only
- 現在ごみ箱にある項目のみを検索します。non_trashed_only
- 現在ごみ箱にない項目のみを検索します。all_items
- ごみ箱内の項目とごみ箱にない項目の両方を検索します。次の値のいずれか1つ: non_trashed_only
,trashed_only
,all_items
2014-05-15T13:35:01-07:00,2014-05-17T13:35:01-07:00
指定した日付範囲内に更新された項目に検索結果を絞り込みます。
日付範囲はコンマ区切りのRFC3339タイムスタンプとして定義されます。
開始日が省略され ている場合 (,2014-05-17T13:35:01-07:00
)、終了日より前に更新された項目が返されます。
終了日が省略されている場合 (2014-05-15T13:35:01-07:00,
)、代わりに現在の日付が終了日として使用されます。
検索結果のコレクションを返します。一致する検索結果がない場合、entries
配列は空になります。
リクエストが無効だった場合にエラーを返します。これには、複数の理由があり、context_info
オブジェクトによって詳細が示されます。
missing_parameter
- 検索で少なくともquery
またはmdfilters
クエリパラメータを指定してください。invalid_parameter
- いずれかのフィールドの形式に誤りがある可能性があります。たとえば、RFC3339日付のいずれかが正しくないか、整数が想定されている場所に文字列が指定されることを意味します。このAPIコールを行う権限がユーザーにない場合にエラーを返します。
scope
としてenterprise_content
を指定しましたが、Boxのサポートチャネルを通じて、このスコープをユーザーに対して有効にするようリクエストしませんでした。ユーザーが、リクエストで取り上げられた項目にアクセスできない場合にエラーを返します。
ancestor_folder_ids
で指定しました。予期しないクライアントエラー。
curl -i -X GET "https://api.box.com/2.0/search?query=sales" \
-H "authorization: Bearer <ACCESS_TOKEN>"
await client.search.searchForContent({
ancestorFolderIds: ['0' as string],
mdfilters: [
{
filters: {
['stringField']: 'stringValue',
['dateField']: {
lt: dateTimeFromString('2035-01-01T00:00:00Z'),
gt: dateTimeFromString('2035-01-03T00:00:00Z'),
} satisfies MetadataFieldFilterDateRange,
['floatField']: {
lt: 9.5,
gt: 10.5,
} satisfies MetadataFieldFilterFloatRange,
['enumField']: 'enumValue2',
['multiSelectField']: ['multiSelectValue1', 'multiSelectValue2'],
},
scope: 'enterprise' as MetadataFilterScopeField,
templateKey: templateKey,
} satisfies MetadataFilter,
],
} satisfies SearchForContentQueryParams);
client.search.search_for_content(
ancestor_folder_ids=["0"],
mdfilters=[
MetadataFilter(
filters={
"stringField": "stringValue",
"dateField": MetadataFieldFilterDateRange(
lt=date_time_from_string("2035-01-01T00:00:00Z"),
gt=date_time_from_string("2035-01-03T00:00:00Z"),
),
"floatField": MetadataFieldFilterFloatRange(lt=9.5, gt=10.5),
"enumField": "enumValue2",
"multiSelectField": ["multiSelectValue1", "multiSelectValue2"],
},
scope=MetadataFilterScopeField.ENTERPRISE,
template_key=template_key,
)
],
)
// Find the first 10 files matching "taxes"
long offsetValue = 0;
long limitValue = 10;
BoxSearch boxSearch = new BoxSearch(api);
BoxSearchParameters searchParams = new BoxSearchParameters();
searchParams.setQuery("taxes");
searchParams.setType("file");
PartialCollection<BoxItem.Info> searchResults = boxSearch.searchRange(offsetValue, limitValue, searchParams);
items = client.search().query(query='TEST QUERY', limit=100, file_extensions=['pdf', 'doc'])
for item in items:
print(f'The item ID is {item.id} and the item name is {item.name}')
// Search for PDF or Word documents matching "Meeting Notes"
BoxCollection<BoxItem> results = await client.SearchManager
.QueryAsync("Meeting Notes", fileExtensions: new { "pdf", "docx" });
// Search for PDF or Word documents matching "Mobile"
client.search.query(
'Mobile',
{
fields: 'name,modified_at,size,extension,permissions,sync_state',
file_extensions: 'pdf,doc',
limit: 200,
offset: 0
})
.then(results => {
/* results -> {
total_count: 1,
entries:
[ { type: 'file',
id: '11111',
sequence_id: '1',
etag: '1',
sha1: 'f89d97c5eea0a68e2cec911s932eca34a52355d2',
name: 'Box for Sales - Empowering Your Mobile Worker White paper 2pg (External).pdf',
description: '',
size: 408979,
path_collection:
{ total_count: 2,
entries:
[ { type: 'folder',
id: '0',
sequence_id: null,
etag: null,
name: 'All Files' },
{ type: 'folder',
id: '22222',
sequence_id: '1',
etag: '1',
name: 'Marketing Active Work' } ] },
created_at: '2014-05-17T12:59:45-07:00',
modified_at: '2014-05-17T13:00:20-07:00',
trashed_at: null,
purged_at: null,
content_created_at: '2014-05-17T12:58:58-07:00',
content_modified_at: '2014-05-17T12:58:58-07:00',
created_by:
{ type: 'user',
id: '33333',
name: 'Example User',
login: 'user@example.com' },
modified_by:
{ type: 'user',
id: '33333',
name: 'Example User',
login: 'user@example.com' },
owned_by:
{ type: 'user',
id: '33333',
name: 'Example User',
login: 'user@example.com' },
shared_link: null,
parent:
{ type: 'folder',
id: '22222',
sequence_id: '1',
etag: '1',
name: 'Marketing Active Work' },
item_status: 'active' } ],
limit: 200,
offset: 0 }
*/
});
let iterator = client.search.query(query: "Quarterly Business Review")
iterator.next { results in
switch results {
case let .success(page):
for item in page.entries {
switch item {
case let .file(file):
print("- File \(file.name) (ID: \(file.id))")
case let .folder(folder):
print("- Folder \(file.name) (ID: \(file.id))")
case let .webLink(webLink):
print("- Web Link \(file.name) (ID: \(file.id))")
}
}
case let .failure(error):
print(error)
}
}
{
"type": "search_results_items",
"entries": [
{
"etag": "1",
"id": "12345",
"type": "file",
"file_version": {
"id": "12345",
"type": "file_version",
"sha1": "134b65991ed521fcfe4724b7d814ab8ded5185dc"
},
"name": "Contract.pdf",
"sequence_id": "3",
"sha1": "85136C79CBF9FE36BB9D05D0639C70C265C18D37",
"content_created_at": "2012-12-12T10:53:43-08:00",
"content_modified_at": "2012-12-12T10:53:43-08:00",
"created_at": "2012-12-12T10:53:43-08:00",
"created_by": {
"id": "11446498",
"type": "user",
"login": "ceo@example.com",
"name": "Aaron Levie"
},
"description": "Contract for Q1 renewal",
"item_status": "active",
"modified_at": "2012-12-12T10:53:43-08:00",
"modified_by": {
"id": "11446498",
"type": "user",
"login": "ceo@example.com",
"name": "Aaron Levie"
},
"owned_by": {
"id": "11446498",
"type": "user",
"login": "ceo@example.com",
"name": "Aaron Levie"
},
"parent": {
"etag": "1",
"id": "12345",
"type": "folder",
"name": "Contracts",
"sequence_id": "3"
},
"path_collection": {
"entries": [
{
"etag": "1",
"id": "12345",
"type": "folder",
"name": "Contracts",
"sequence_id": "3"
}
],
"total_count": 1
},
"purged_at": "2012-12-12T10:53:43-08:00",
"shared_link": {
"access": "open",
"download_count": 3,
"download_url": "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg",
"effective_access": "company",
"effective_permission": "can_download",
"is_password_enabled": true,
"permissions": {
"can_download": true,
"can_edit": false,
"can_preview": true
},
"preview_count": 3,
"unshared_at": "2018-04-13T13:53:23-07:00",
"url": "https://www.box.com/s/vspke7y05sb214wjokpk",
"vanity_name": "my_url",
"vanity_url": "https://acme.app.box.com/v/my_url/"
},
"size": 629644,
"trashed_at": "2012-12-12T10:53:43-08:00",
"allowed_invitee_roles": [
"editor"
],
"classification": {
"color": "#FF0000",
"definition": "Content that should not be shared outside the company.",
"name": "Top Secret"
},
"comment_count": 10,
"disposition_at": "2012-12-12T10:53:43-08:00",
"expires_at": "2012-12-12T10:53:43-08:00",
"expiring_embed_link": {
"access_token": "c3FIOG9vSGV4VHo4QzAyg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ",
"expires_in": 3600,
"restricted_to": [
{
"object": {
"etag": "1",
"id": "12345",
"type": "folder",
"name": "Contracts",
"sequence_id": "3"
},
"scope": "item_download"
}
],
"token_type": "bearer",
"url": "https://cloud.app.box.com/preview/expiring_embed/..."
},
"extension": "pdf",
"has_collaborations": true,
"is_accessible_via_shared_link": true,
"is_associated_with_app_item": true,
"is_externally_owned": true,
"is_package": true,
"lock": {
"app_type": "office_wopiplus",
"created_at": "2012-12-12T10:53:43-08:00",
"created_by": {
"id": "11446498",
"type": "user",
"login": "ceo@example.com",
"name": "Aaron Levie"
},
"expired_at": "2012-12-12T10:53:43-08:00",
"id": "11446498",
"is_download_prevented": true,
"type": "lock"
},
"metadata": {
"enterprise_27335": {
"marketingCollateral": {
"$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
}
}
},
"permissions": {
"can_delete": true,
"can_download": true,
"can_invite_collaborator": true,
"can_rename": true,
"can_set_share_access": true,
"can_share": true,
"can_annotate": true,
"can_comment": true,
"can_preview": true,
"can_upload": true,
"can_view_annotations_all": true,
"can_view_annotations_self": true
},
"representations": {
"entries": [
{
"content": {
"url_template": "https://dl.boxcloud.com/api/2.0/internal_files/123/versions/345/representations/png_paged_2048x2048/content/{+asset_path}?watermark_content=4567"
},
"info": {
"url": "https://api.box.com/2.0/internal_files/123/versions/345/representations/png_paged_2048x2048"
},
"properties": {
"dimensions": "2048x2048",
"paged": true,
"thumb": true
},
"representation": "png",
"status": {
"state": "success"
}
}
]
},
"shared_link_permission_options": [
"can_preview"
],
"tags": [
"approved"
],
"uploader_display_name": "Ellis Wiggins",
"version_number": "1",
"watermark_info": {
"is_watermarked": true
}
}
],
"limit": 1000,
"offset": 2000,
"total_count": 5000
}