$search クエリ パラメーターを使用する
[アーティクル]
03/21/2024
9 人の共同作成者
フィードバック
この記事の内容
他の OData クエリ パラメーター に加えて、Microsoft Graph は、$search
クエリ パラメーターをサポートして、要求の結果を検索条件と一致するものに制限します。
クエリ パラメーターの$search
サポートはエンティティによって異なり、directoryObject から派生Microsoft Entraリソースなど、高度なクエリ でのみサポート$search
されるものもあります。
メッセージ コレクションで $search を使用する
特定の メッセージ プロパティの値に基づいてメッセージを検索できます。 検索結果は、メッセージが送信された日時で並べ替えられます。 $search
要求は最大 1000 件まで結果を返します。
メッセージで検索を行うときに、特定のメッセージ プロパティを指定せずに値のみを指定した場合、検索は既定の検索プロパティである from 、subject 、body に基づいて行われます。
次の例は、サインイン中のユーザーの受信トレイにあるメッセージのうち、既定の 3 つの検索プロパティのいずれかに "pizza" が含まれるメッセージをすべて返します。
GET https://graph.microsoft.com/v1.0/me/messages?$search="pizza"
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.Messages.GetAsync((requestConfiguration) =>
{
requestConfiguration.QueryParameters.Search = "\"pizza\"";
});
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphusers "github.com/microsoftgraph/msgraph-sdk-go/users"
//other-imports
)
graphClient := msgraphsdk.NewGraphServiceClientWithCredentials(cred, scopes)
requestSearch := "\"pizza\""
requestParameters := &graphusers.ItemMessagesRequestBuilderGetQueryParameters{
Search: &requestSearch,
}
configuration := &graphusers.ItemMessagesRequestBuilderGetRequestConfiguration{
QueryParameters: requestParameters,
}
messages, err := graphClient.Me().Messages().Get(context.Background(), configuration)
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
MessageCollectionResponse result = graphClient.me().messages().get(requestConfiguration -> {
requestConfiguration.queryParameters.search = "\"pizza\"";
});
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
const options = {
authProvider,
};
const client = Client.init(options);
let messages = await client.api('/me/messages')
.search('pizza')
.get();
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Users\Item\Messages\MessagesRequestBuilderGetRequestConfiguration;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestConfiguration = new MessagesRequestBuilderGetRequestConfiguration();
$queryParameters = MessagesRequestBuilderGetRequestConfiguration::createQueryParameters();
$queryParameters->search = "\"pizza\"";
$requestConfiguration->queryParameters = $queryParameters;
$result = $graphServiceClient->me()->messages()->get($requestConfiguration)->wait();
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
from msgraph import GraphServiceClient
from msgraph.generated.users.item.messages.messages_request_builder import MessagesRequestBuilder
graph_client = GraphServiceClient(credentials, scopes)
query_params = MessagesRequestBuilder.MessagesRequestBuilderGetQueryParameters(
search = "\"pizza\"",
)
request_configuration = MessagesRequestBuilder.MessagesRequestBuilderGetRequestConfiguration(
query_parameters = query_params,
)
result = await graph_client.me.messages.get(request_configuration = request_configuration)
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
また、キーワード クエリ言語 (KQL) 構文で認識される、以下の表のメッセージ プロパティ名を指定して、メッセージの検索をすることもできます。 これらのプロパティ名は Microsoft Graph の message エンティティで定義したプロパティです。 Outlook や他の Microsoft 365 アプリケーション (SharePoint など) では KQL 構文をサポートしており、データ ストアの共通探索ドメインの利便性が向上します。
検索可能な電子メール プロパティ
説明
例
attachment
電子メール メッセージに添付されているファイルの名前。
GET ../me/messages?$search="attachment:api-catalog.md"
bcc
SMTP アドレス、表示名、エイリアスとして指定されている、電子メール メッセージの bcc フィールド。
GET ../me/messages?$search="bcc:samanthab@contoso.com"&$select=subject,bccRecipients
body
電子メール メッセージの本文。
GET ../me/messages?$search="body:excitement"
cc
SMTP アドレス、表示名、エイリアスとして指定されている、電子メール メッセージの cc フィールド。
GET ../me/messages?$search="cc:danas"&$select=subject,ccRecipients
from
SMTP アドレス、表示名、エイリアスとして指定されている、電子メール メッセージの送信者。
GET ../me/messages?$search="from:randiw"&$select=subject,from
hasAttachment
電子メール メッセージに添付ファイルがあり、そのファイルがインラインの添付ファイルでない場合は true、そうでない場合は false。
GET ../me/messages?$search="hasAttachments:true"
importance
送信者がメッセージを送信するときに指定できる電子メール メッセージの重要度。 使用可能な値: low
、medium
、high
。
GET ../me/messages?$search="importance:high"&$select=subject,importance
kind
メッセージの種類。 使用可能な値: contacts
、docs
、email
、faxes
、im
、journals
、meetings
、notes
、posts
、rssfeeds
、tasks
、voicemail
。
GET ../me/messages?$search="kind:voicemail"
participants
SMTP アドレス、表示名、エイリアスとして指定されている、電子メール メッセージの from 、to 、cc 、bcc フィールド。
GET ../me/messages?$search="participants:danas"
received
電子メール メッセージが受信者によって受信された日付。
GET ../me/messages?$search="received:07/23/2018"&$select=subject,receivedDateTime
recipients
SMTP アドレス、表示名、エイリアスとして指定されている、電子メール メッセージの to 、cc 、bcc フィールド。
GET ../me/messages?$search="recipients:randiq"&$select=subject,toRecipients,ccRecipients,bccRecipients
sent
送信者によって電子メール メッセージが送信された日付。
GET ../me/messages?$search="sent:07/23/2018"&$select=subject,sentDateTime
size
アイテムのサイズ (バイト数)。
GET ../me/messages?$search="size:1..500000"
subject
電子メール メッセージの件名行に含まれるテキスト。 .
GET ../me/messages?$search="subject:has"&$select=subject
to
SMTP アドレス、表示名、エイリアスとして指定されている、電子メール メッセージの to フィールド。
GET .../me/messages?$search="to:randiw"&$select=subject,toRecipients
検索可能な電子メール プロパティ、KQL 構文、サポートされている演算子、検索のヒントなどの詳細については、次の記事を参照してください。
人物コレクションで $search を使用する
Microsoft Graph People API を使用してユーザーに最も関連のある人物を取得できます。 関連性は、ユーザーのコミュニケーションとコラボレーション パターンとビジネス関係によって決まります。 People API では、$search
クエリ パラメーターがサポートされています。 $search
要求は最大 250 件まで結果を返します。
person リソースの displayName プロパティと emailAddress プロパティの両方で人物の検索を行います。
次の要求は、サインイン ユーザーの people コレクションに含まれる各ユーザーの displayName プロパティと emailAddress プロパティで、「Irene McGowen」という名前の人物を検索します。 「Irene McGowan」という名前の人物がサインインしているユーザーに関連するため、「Irene McGowan」の情報が返されます。
GET https://graph.microsoft.com/v1.0/me/people/?$search="Irene McGowen"
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.People.GetAsync((requestConfiguration) =>
{
requestConfiguration.QueryParameters.Search = "\"Irene McGowen\"";
});
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphusers "github.com/microsoftgraph/msgraph-sdk-go/users"
//other-imports
)
graphClient := msgraphsdk.NewGraphServiceClientWithCredentials(cred, scopes)
requestSearch := "\"Irene McGowen\""
requestParameters := &graphusers.ItemPeopleRequestBuilderGetQueryParameters{
Search: &requestSearch,
}
configuration := &graphusers.ItemPeopleRequestBuilderGetRequestConfiguration{
QueryParameters: requestParameters,
}
people, err := graphClient.Me().People().Get(context.Background(), configuration)
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
PersonCollectionResponse result = graphClient.me().people().get(requestConfiguration -> {
requestConfiguration.queryParameters.search = "\"Irene McGowen\"";
});
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
const options = {
authProvider,
};
const client = Client.init(options);
let people = await client.api('/me/people/')
.search('Irene McGowen')
.get();
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Users\Item\People\PeopleRequestBuilderGetRequestConfiguration;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestConfiguration = new PeopleRequestBuilderGetRequestConfiguration();
$queryParameters = PeopleRequestBuilderGetRequestConfiguration::createQueryParameters();
$queryParameters->search = "\"Irene McGowen\"";
$requestConfiguration->queryParameters = $queryParameters;
$result = $graphServiceClient->me()->people()->get($requestConfiguration)->wait();
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
Import-Module Microsoft.Graph.People
# A UPN can also be used as -UserId.
Get-MgUserPerson -UserId $userId -Search '"Irene McGowen"'
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
from msgraph import GraphServiceClient
from msgraph.generated.users.item.people.people_request_builder import PeopleRequestBuilder
graph_client = GraphServiceClient(credentials, scopes)
query_params = PeopleRequestBuilder.PeopleRequestBuilderGetQueryParameters(
search = "\"Irene McGowen\"",
)
request_configuration = PeopleRequestBuilder.PeopleRequestBuilderGetRequestConfiguration(
query_parameters = query_params,
)
result = await graph_client.me.people.get(request_configuration = request_configuration)
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
次の例は応答を示しています。
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"id": "C0BD1BA1-A84E-4796-9C65-F8A0293741D1",
"displayName": "Irene McGowan",
"givenName": "Irene",
"surname": "McGowan",
"birthday": "",
"personNotes": "",
"isFavorite": false,
"jobTitle": "Auditor",
"companyName": null,
"yomiCompany": "",
"department": "Finance",
"officeLocation": "12/1110",
"profession": "",
"userPrincipalName": "irenem@contoso.com",
"imAddress": "sip:irenem@contoso.com",
"scoredEmailAddresses": [
{
"address": "irenem@contoso.com",
"relevanceScore": -16.446060612802224
}
],
"phones": [
{
"type": "Business",
"number": "+1 412 555 0109"
}
],
"postalAddresses": [],
"websites": [],
"personType": {
"class": "Person",
"subclass": "OrganizationUser"
}
}
]
}
People API の詳細については、「関係する人の情報を取得する 」を参照してください。
ディレクトリ オブジェクト コレクションでの $search の使用
注:
アンパサンド (&) シンボルを$search
含む値のディレクトリ オブジェクトに関連する既知の問題 があります。
directoryObject から派生するリソースとそのリレーションシップMicrosoft Entra IDは、高度な クエリでのみクエリ パラメーターを$search
サポートします。 検索の実装では、"contains" ロジックはサポート されていません 。 代わりに、次の例に示すように、スペース、数字、異なる大文字と小文字の区別、記号を使用して、プロパティ値と検索文字列から単語を抽出することによって機能する、トークン化アプローチを使用しています。
スペース : hello world
=>hello
, world
異なる大文字と小文字 ⁽1 ⁾: HelloWorld
または helloWORLD
=>hello
, world
シンボル ⁽2 ⁾: hello.world
=>hello
, , .
, world
helloworld
数値 : hello123world
=>hello
、 123
。 world
⁽1 ⁾ 現在、トークン化は大文字と小文字の区別が小文字から大文字に変更されている場合にのみ機能するためHELLOworld
、1 つのトークンと見なされます: helloworld
、 HelloWORld
は 2 つのトークンです。 hello
world
⁽2 ⁾ Tokenization ロジックは、シンボルによってのみ区切られた単語も結合します。たとえば、 をhelloworld
検索すると、 と がhello.world
見つかりますhello-world
。
注:
トークン化の後、トークンは元の大文字と小文字の区別とは独立に、任意の順序で合致させられます。 たとえば、displayName は李四(David Li)
、、、李四
、 (李四
Li 李
David
David)
Li
などの李四(David Li)
検索文字列と一致します。
ラテン語からキリル文字、中国語など、アルファベットの変更では、新しいトークンは作成されません。 たとえば、displayName は 蓝色group
および 検索文字列と蓝色
一致しますが、検索文字列は一致蓝色group
しませんgroup
。displayName は group蓝色
および 検索文字列とgroup
一致しますが、 または 蓝
は一致group蓝色
しません蓝色
。
トークン化された検索サポートは、displayName および description のフィールドでのみ動作します。 String 型のフィールドは、displayName 以外のフィールドに$search
入れることができ、説明 の既定値は$filter
startswith
動作です。
例:
GET https://graph.microsoft.com/v1.0/groups/?$search="displayName:OneVideo" OR "mail:onevideo"
ConsistencyLevel: eventual
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Groups.GetAsync((requestConfiguration) =>
{
requestConfiguration.QueryParameters.Search = "\"displayName:OneVideo\" OR \"mail:onevideo\"";
requestConfiguration.Headers.Add("ConsistencyLevel", "eventual");
});
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
// THE CLI IS IN PREVIEW. NON-PRODUCTION USE ONLY
mgc groups list --search ""displayName:OneVideo" OR "mail:onevideo"" --consistency-level "eventual"
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
import (
"context"
abstractions "github.com/microsoft/kiota-abstractions-go"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphgroups "github.com/microsoftgraph/msgraph-sdk-go/groups"
//other-imports
)
graphClient := msgraphsdk.NewGraphServiceClientWithCredentials(cred, scopes)
headers := abstractions.NewRequestHeaders()
headers.Add("ConsistencyLevel", "eventual")
requestSearch := "\"displayName:OneVideo\" OR \"mail:onevideo\""
requestParameters := &graphgroups.GroupsRequestBuilderGetQueryParameters{
Search: &requestSearch,
}
configuration := &graphgroups.GroupsRequestBuilderGetRequestConfiguration{
Headers: headers,
QueryParameters: requestParameters,
}
groups, err := graphClient.Groups().Get(context.Background(), configuration)
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
GroupCollectionResponse result = graphClient.groups().get(requestConfiguration -> {
requestConfiguration.queryParameters.search = "\"displayName:OneVideo\" OR \"mail:onevideo\"";
requestConfiguration.headers.add("ConsistencyLevel", "eventual");
});
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Groups\GroupsRequestBuilderGetRequestConfiguration;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestConfiguration = new GroupsRequestBuilderGetRequestConfiguration();
$headers = [
'ConsistencyLevel' => 'eventual',
];
$requestConfiguration->headers = $headers;
$queryParameters = GroupsRequestBuilderGetRequestConfiguration::createQueryParameters();
$queryParameters->search = "\"displayName:OneVideo\" OR \"mail:onevideo\"";
$requestConfiguration->queryParameters = $queryParameters;
$result = $graphServiceClient->groups()->get($requestConfiguration)->wait();
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
Import-Module Microsoft.Graph.Groups
Get-MgGroup -Search '"displayName:OneVideo" OR "mail:onevideo"' -ConsistencyLevel eventual
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
from msgraph import GraphServiceClient
from msgraph.generated.groups.groups_request_builder import GroupsRequestBuilder
graph_client = GraphServiceClient(credentials, scopes)
query_params = GroupsRequestBuilder.GroupsRequestBuilderGetQueryParameters(
search = "\"displayName:OneVideo\" OR \"mail:onevideo\"",
)
request_configuration = GroupsRequestBuilder.GroupsRequestBuilderGetRequestConfiguration(
query_parameters = query_params,
)
request_configuration.headers.add("ConsistencyLevel", "eventual")
result = await graph_client.groups.get(request_configuration = request_configuration)
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
これにより、one
トークンと video
トークンを持つ表示名の全てのグループ、または onevideo
で始まるメールが検索されます。
$search
は、$filter
と一緒に使用することができます:
GET https://graph.microsoft.com/v1.0/groups/?$filter=mailEnabled eq true&$search="displayName:OneVideo"
ConsistencyLevel: eventual
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Groups.GetAsync((requestConfiguration) =>
{
requestConfiguration.QueryParameters.Filter = "mailEnabled eq true";
requestConfiguration.QueryParameters.Search = "\"displayName:OneVideo\"";
requestConfiguration.Headers.Add("ConsistencyLevel", "eventual");
});
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
// THE CLI IS IN PREVIEW. NON-PRODUCTION USE ONLY
mgc groups list --search ""displayName:OneVideo"" --filter "mailEnabled eq true" --consistency-level "eventual"
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
import (
"context"
abstractions "github.com/microsoft/kiota-abstractions-go"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphgroups "github.com/microsoftgraph/msgraph-sdk-go/groups"
//other-imports
)
graphClient := msgraphsdk.NewGraphServiceClientWithCredentials(cred, scopes)
headers := abstractions.NewRequestHeaders()
headers.Add("ConsistencyLevel", "eventual")
requestFilter := "mailEnabled eq true"
requestSearch := "\"displayName:OneVideo\""
requestParameters := &graphgroups.GroupsRequestBuilderGetQueryParameters{
Filter: &requestFilter,
Search: &requestSearch,
}
configuration := &graphgroups.GroupsRequestBuilderGetRequestConfiguration{
Headers: headers,
QueryParameters: requestParameters,
}
groups, err := graphClient.Groups().Get(context.Background(), configuration)
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
GroupCollectionResponse result = graphClient.groups().get(requestConfiguration -> {
requestConfiguration.queryParameters.filter = "mailEnabled eq true";
requestConfiguration.queryParameters.search = "\"displayName:OneVideo\"";
requestConfiguration.headers.add("ConsistencyLevel", "eventual");
});
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
const options = {
authProvider,
};
const client = Client.init(options);
let groups = await client.api('/groups/')
.header('ConsistencyLevel','eventual')
.filter('mailEnabled eq true')
.search('displayName:OneVideo')
.get();
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Groups\GroupsRequestBuilderGetRequestConfiguration;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestConfiguration = new GroupsRequestBuilderGetRequestConfiguration();
$headers = [
'ConsistencyLevel' => 'eventual',
];
$requestConfiguration->headers = $headers;
$queryParameters = GroupsRequestBuilderGetRequestConfiguration::createQueryParameters();
$queryParameters->filter = "mailEnabled eq true";
$queryParameters->search = "\"displayName:OneVideo\"";
$requestConfiguration->queryParameters = $queryParameters;
$result = $graphServiceClient->groups()->get($requestConfiguration)->wait();
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
Import-Module Microsoft.Graph.Groups
Get-MgGroup -Filter "mailEnabled eq true" -Search '"displayName:OneVideo"' -ConsistencyLevel eventual
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
from msgraph import GraphServiceClient
from msgraph.generated.groups.groups_request_builder import GroupsRequestBuilder
graph_client = GraphServiceClient(credentials, scopes)
query_params = GroupsRequestBuilder.GroupsRequestBuilderGetQueryParameters(
filter = "mailEnabled eq true",
search = "\"displayName:OneVideo\"",
)
request_configuration = GroupsRequestBuilder.GroupsRequestBuilderGetRequestConfiguration(
query_parameters = query_params,
)
request_configuration.headers.add("ConsistencyLevel", "eventual")
result = await graph_client.groups.get(request_configuration = request_configuration)
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
この例では、"OneVideo" のような表示名でメールが有効なグループがすべて検索されます。
結果は、$filter
の論理積 ("AND") と $search
のクエリ全体に基づいて限定されます。
検索の構文は次の規則に従います。
ジェネリック形式: $search="clause1" [AND |OR] "[clauseX]"
任意の数の句がサポートされています。 優先順位のためのかっこもサポートされています。
各句の構文は、"<property>:<text to search>" です。
句では、プロパティ名を指定する必要があります。 $filter
で使用できるプロパティは $search
内でも使用できます。 プロパティで検索がサポートされていない場合、そのプロパティに応じて、検索動作は "search" または "startsWith" のいずれかになります。
句全体を二重引用符で宣言する必要があります。 二重引用符または円マーク (バックスラッシュ) が含まれている場合は、バックスラッシュを使用してエスケープする必要があります。 他のすべての特殊文字は URL エンコードする必要があります。
論理 AND
と OR
演算子は二重引用符の外側に配置し、大文字である必要があります。
次の表ではいくつかの例を示します。
オブジェクト クラス
説明
例
User
ユーザーのアドレス帳の表示名。
GET ../users?$search="displayName:Guthr"
User
ユーザーのアドレス帳の表示名またはメール。
GET ../users?$search="displayName:Guthr" OR "mail:Guthr"
Group
グループのアドレス帳の表示名または説明。
GET ../groups?$search="description:One" AND ("displayName:Video" OR "displayName:Drive"
Group
メールが有効なグループのアドレス帳の表示名。
GET ../groups?$filter=mailEnabled eq true&$search="displayName:OneVideo"
$search
で指定した文字列入力と検索可能なプロパティはどちらも、スペース、大文字または小文字、文字の種類 (数字と特殊文字) によって分割されます。
関連コンテンツ