singleValueLegacyExtendedProperty を取得する

名前空間: microsoft.graph

特定の拡張プロパティで展開された単一のリソース インスタンス、または 1 つのフィルターと一致する拡張プロパティを含むリソース インスタンスのコレクションを取得できます。

クエリ パラメーター $expand を使用すると、指定した拡張プロパティで展開された特定のリソース インスタンスを取得できます。 id プロパティ上で $filter および eq 演算子を使用して拡張プロパティを指定します。 これは、現時点で、拡張プロパティを表す singleValueLegacyExtendedProperty オブジェクトを取得する唯一の方法です。

特定の拡張プロパティを含むリソース インスタンスを取得するには、$filter クエリ パラメーターを使用して、eq 演算子を id プロパティに適用します。 さらに、数値の拡張プロパティについては、value プロパティで eqnegegtlelt 演算子のいずれかを適用します。 文字列型の拡張プロパティについては、containsstartswitheqne 演算子を value に適用します。

フィルターは、サインインしているユーザーのメールボックスにあるリソースのインスタンスすべてに適用されます。

拡張プロパティの id で文字列名 (Name) をフィルタリングする場合は、大文字と小文字が区別されます。 拡張プロパティの value プロパティをフィルタリングする場合は、大文字と小文字が区別されません。

次のユーザー リソースがサポートされます。

次のグループ リソースもサポートされます。

オープン拡張機能または拡張プロパティを使用するのに適した状況と、拡張プロパティを指定する方法の詳細については、「拡張プロパティの概要」を参照してください。

この API は、次の国内クラウド展開で使用できます。

グローバル サービス 米国政府機関 L4 米国政府機関 L5 (DOD) 21Vianet が運営する中国

アクセス許可

拡張プロパティの取得元のリソースと、要求するアクセス許可の種類 (委任またはアプリケーション) に応じて、次の表で指定されているアクセス許可は、この API を呼び出すために最低限必要です。 アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。

サポートされているリソース 委任 (職場または学校のアカウント) 委任 (個人用 Microsoft アカウント) アプリケーション
calendar Calendars.Read Calendars.Read Calendars.Read
contact Contacts.Read Contacts.Read Contacts.Read
contactFolder Contacts.Read Contacts.Read Contacts.Read
event Calendars.Read Calendars.Read Calendars.Read
グループ calendar Group.Read.All 非サポート サポート対象外
グループ event Group.Read.All 非サポート サポート対象外
グループ post Group.Read.All サポート対象外 Group.Read.All
mailFolder Mail.Read Mail.Read Mail.Read
message Mail.Read Mail.Read Mail.Read

HTTP 要求

フィルターと一致する拡張プロパティで展開されたリソース インスタンスを取得する

id プロパティに対するフィルターと一致する拡張プロパティで展開された、リソース インスタンスを取得します。 フィルター文字列内のスペース文字に URL エンコードを適用していることを確認してください。

message インスタンスの取得:

GET /me/messages/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/messages/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /me/mailFolders/{id}/messages/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

mailFolder インスタンスの取得:

GET /me/mailFolders/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/mailFolders/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

event インスタンスの取得:

GET /me/events/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/events/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

calendar インスタンスの取得:

GET /me/calendars/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/calendars/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

contact インスタンスの取得:

GET /me/contacts/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/contacts/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /me/contactFolders/{id}/contacts/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/contactFolders/{id}/contacts/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

contactFolder インスタンスの取得:

GET /me/contactfolders/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /users/{id|userPrincipalName}/contactFolders/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

グループ event インスタンスの取得:

GET /groups/{id}/events/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

グループ post インスタンスの取得:

GET /groups/{id}/threads/{id}/posts/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')
GET /groups/{id}/conversations/{id}/threads/{id}/posts/{id}?$expand=singleValueExtendedProperties($filter=id eq '{id_value}')

フィルターと一致する数値の拡張プロパティを含むリソース インスタンスを取得する

フィルターと一致する数値の拡張プロパティを持つサポート対象リソースのインスタンスを取得します。 フィルターは id プロパティには eq 演算子を使用し、value プロパティには eqnegegtlelt のいずれかの演算子を使用します。 フィルター文字列内のコロン、スラッシュ、スペースに URL エンコードを適用していることをご確認ください。

次の構文の行では、id に eq 演算子を使用し、プロパティ値にもう 1 つの eq 演算子を使用するフィルターを示しています。 value に対する eq 演算子は、数値に適用される別の演算子 (negegtlelt) のいずれかと置き換えることができます。

message インスタンスの取得:

GET /me/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /me/mailFolders/{id}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

mailFolder インスタンスの取得:

GET /me/mailFolders?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/mailFolders?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

event インスタンスの取得:

GET /me/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

calendar インスタンスの取得:

GET /me/calendars?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/calendars?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

contact インスタンスの取得:

GET /me/contacts?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/contacts?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /me/contactFolders/{id}/contacts?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/contactFolders/{id}/contacts?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

contactFolder インスタンスの取得:

GET /me/contactfolders?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/contactFolders?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

グループ event インスタンスの取得:

GET /groups/{id}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

グループ post インスタンスの取得:

GET /groups/{id}/threads/{id}/posts?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /groups/{id}/conversations/{id}/threads/{id}/posts?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

フィルターと一致する文字列型の拡張プロパティを含むリソース インスタンスを取得する

フィルターと一致する文字列型の拡張プロパティを含む message または event リソースのインスタンスを取得します。 フィルターは id プロパティには eq 演算子を使用し、value プロパティには containsstartswitheqne のいずれかの演算子を使用します。 フィルター文字列内のコロン、スラッシュ、スペースに URL エンコードを適用していることをご確認ください。

message インスタンスの取得:

GET /me/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and contains(ep/value, '{property_value}'))
GET /users/{id|userPrincipalName}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and contains(ep/value, '{property_value}'))
GET /me/mailFolders/{id}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and contains(ep/value, '{property_value}'))

GET /me/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and startswith(ep/value, '{property_value}'))
GET /users/{id|userPrincipalName}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and startswith(ep/value, '{property_value}'))
GET /me/mailFolders/{id}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and startswith(ep/value, '{property_value}'))

GET /me/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /me/mailFolders/{id}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

GET /me/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value ne '{property_value}')
GET /users/{id|userPrincipalName}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value ne '{property_value}')
GET /me/mailFolders/{id}/messages?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value ne '{property_value}')

event インスタンスの取得:

GET /me/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and contains(ep/value, '{property_value}'))
GET /users/{id|userPrincipalName}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and contains(ep/value, '{property_value}'))

GET /me/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and startswith(ep/value, '{property_value}'))
GET /users/{id|userPrincipalName}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and startswith(ep/value, '{property_value}'))

GET /me/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /users/{id|userPrincipalName}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')

GET /me/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value ne '{property_value}')
GET /users/{id|userPrincipalName}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value ne '{property_value}')

グループ event インスタンスの取得:

GET /groups/{id}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and contains(ep/value, '{property_value}'))
GET /groups/{id}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and startswith(ep/value, '{property_value}'))
GET /groups/{id}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value eq '{property_value}')
GET /groups/{id}/events?$filter=singleValueExtendedProperties/Any(ep: ep/id eq '{id_value}' and ep/value ne '{property_value}')

パス パラメーター

パラメーター 説明
id_value String 照合する拡張プロパティの ID。 サポートされている形式のいずれかに従う必要があります。 詳しくは、「Outlook の拡張プロパティの概要」を参照してください。 必須。
property_value String 照合する拡張プロパティの値。 前述の「HTTP 要求」セクションに示した一覧で必要になります。 {property_value} が文字列ではない場合、ep/value を {property_value} と比較するときに、適切な Edm データ型に明示的にキャストしてください。 例については、以下の要求 4 を参照してください。

要求ヘッダー

名前 説明
Authorization ベアラー {token}。 必須です。 認証と承認の詳細については、こちらをご覧ください。

要求本文

このメソッドには、要求本文を指定しません。

応答

成功した場合、このメソッドは 200 OK 応答コードを返します。

一致する拡張プロパティで展開されたリソース インスタンスを取得する

応答本文には、一致する singleValueLegacyExtendedProperty オブジェクトで展開された、要求したリソース インスタンスで表されるオブジェクトが含まれます。

フィルターと一致する拡張プロパティを含むリソース インスタンスを取得する

応答本文には、一致する拡張プロパティを含むリソース インスタンスを表す 1 つ以上のオブジェクトが含まれます。 応答本文には、拡張プロパティは含まれません。

要求 1

最初の例では、単一値の拡張プロパティを含めることによって指定されたメッセージを取得して展開します。 フィルターは、id が文字列 String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color と一致する拡張プロパティを返します (ここでは、読みやすくするため URL エンコードを削除しています)。

GET https://graph.microsoft.com/v1.0/me/messages/AAMkAGE1M2_bs88AACHsLqWAAA=?$expand=singleValueExtendedProperties($filter=id%20eq%20'String%20{66f5a359-4659-4830-9070-00047ec6ac6e}%20Name%20Color')

応答 1

応答本文には、指定されたメッセージのすべてのプロパティと、フィルターから返される拡張プロパティが含まれています。

注:簡潔にするために、ここに示すメッセージ オブジェクトは切り詰められています。 実際の呼び出しではすべてのプロパティが返されます。

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Me/messages/$entity",
    "@odata.id": "https://graph.microsoft.com/v1.0/users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/messages('AAMkAGE1M2_bs88AACHsLqWAAA=')",
    "@odata.etag": "W/\"CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AACbyS4H\"",
    "id": "AAMkAGE1M2_bs88AACHsLqWAAA=",
    "subject": "RE: Talk about emergency prep",
    "sender": {
        "emailAddress": {
            "name": "Christine Irwin",
            "address": "christine@contoso.com"
        }
    },
    "from": null,
    "toRecipients": [
        {
            "emailAddress": {
                "name": "Christine Irwin",
                "address": "christine@contoso.com"
            }
        }
    ],
    "singleValueExtendedProperties": [
        {
            "id": "String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color",
            "value": "Green"
        }
    ]
}

要求 2

2 番目の例では、文字列で型指定され、フィルターで指定された単一値の拡張プロパティを持つメッセージを取得します。 フィルターは、以下のような拡張プロパティを検索します。

  • その id は文字列 String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color と一致します (ここでは、読みやすくするため URL エンコードを削除しています)。

  • その value は文字列 Green と一致します。

GET https://graph.microsoft.com/v1.0/me/messages?$filter=singleValueExtendedProperties%2FAny(ep%3A%20ep%2Fid%20eq%20'String%20{66f5a359-4659-4830-9070-00047ec6ac6e}%20Name%20Color'%20and%20ep%2Fvalue%20eq%20'Green')

応答 2

正常な応答が HTTP 200 OK 応答コードによって示され、応答の本文には、フィルターに一致する拡張プロパティを持つメッセージのすべてのプロパティが含まれます。 応答本文は、メッセージのコレクションの取得からの応答に似ています。 応答は、一致する拡張プロパティを含みません。

要求 3

3 番目の例では、文字列で型指定され、フィルターで指定された単一値の拡張プロパティを持つメッセージを取得します。 フィルターは、以下のような拡張プロパティを検索します。

  • その id は文字列 String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color と一致します (ここでは、読みやすくするため URL エンコードを削除しています)。

  • その value には文字列 green が含まれます。

GET https://graph.microsoft.com/v1.0/Me/messages?$filter=singleValueExtendedProperties/any(ep:ep/Id eq 'String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color' and contains(ep/Value, 'green'))

応答 3

正常な応答が HTTP 200 OK 応答コードによって示され、応答の本文には、フィルターに一致する拡張プロパティを持つメッセージのすべてのプロパティが含まれます。 たとえば、 id が文字列 String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Colorと等しい単一値の拡張プロパティを持ち、 Light greenが フィルターと一致し、応答に含まれるメッセージです。

応答本文は、メッセージのコレクションの取得からの応答に似ています。 応答は、一致する拡張プロパティを含みません。

要求 4

次の 2 つの例では、文字列以外で型指定された単一値の拡張プロパティを持つメッセージを取得する方法を示しています。 読みやすくするため、必要な URL エンコードは含まれていません。

次の例は、以下のような拡張プロパティを検索するフィルターを示しています。

  • その id は文字列 CLSID {00062008-0000-0000-C000-000000000046} Name ConnectorSenderGuid と一致します。

  • その value は GUID b9cf8971-7d55-4b73-9ffa-a584611b600b です。 プロパティ値を GUID と比較するには、ep/valueEdm.Guid にキャストします。

GET https://graph.microsoft.com/v1.0/me/messages?$filter=singleValueExtendedProperties/any(ep:ep/id eq 'CLSID {00062008-0000-0000-C000-000000000046} Name ConnectorSenderGuid' and cast(ep/value, Edm.Guid) eq (b9cf8971-7d55-4b73-9ffa-a584611b600b))

次の例は、以下のような拡張プロパティを検索するフィルターを示しています。

  • その id は文字列 Integer {66f5a359-4659-4830-9070-00047ec6ac6e} Name Pallete と一致します。

  • その value は整数 12 と等しくなります。 プロパティ値を整数と比較するには、ep/valueEdm.Int32 にキャストします。

GET https://graph.microsoft.com/v1.0/me/messages?$filter=singleValueExtendedProperties/any(ep:ep/id eq 'Integer {66f5a359-4659-4830-9070-00047ec6ac6e} Name Pallete' and cast(ep/value, Edm.Int32) eq 12)

応答 4

前の 2 つの例では、正常な応答が HTTP 200 OK 応答コードによって示され、応答の本文には、対応するフィルターに一致する拡張プロパティを持つメッセージのすべてのプロパティが含まれます。 応答本文は、メッセージのコレクションの取得からの応答に似ています。 応答は、一致する拡張プロパティを含みません。