連絡先を一覧表示するList contacts

サインイン中のユーザーの既定の連絡先フォルダー内の連絡先フォルダーのコレクションを取得します。Get a contact collection from the default contacts folder of the signed-in user.

アプリが別のユーザーの連絡先フォルダーから連絡先を取得できるシナリオは2つあります。There are two scenarios where an app can get contacts in another user's contact folder:

  • アプリにアプリケーションのアクセス許可がある場合。またはIf the app has application permissions, or,
  • アプリに「あるユーザーから適切に委任されたアクセス許可」があり、別のユーザーがそのユーザーとコンタクトフォルダーを共有しているか、そのユーザーに委任されたアクセスを付与している場合。If the app has the appropriate delegated permissions from one user, and another user has shared a contact folder with that user, or, has given delegated access to that user. 詳細と例を参照してください。See details and an example.

権限Permissions

この API を呼び出すには、次のいずれかのアクセス許可が必要です。アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

アクセス許可の種類Permission type アクセス許可 (特権の小さいものから大きいものへ)Permissions (from least to most privileged)
委任 (職場または学校のアカウント)Delegated (work or school account) Contacts.Read、Contacts.ReadWriteContacts.Read, Contacts.ReadWrite
委任 (個人用 Microsoft アカウント)Delegated (personal Microsoft account) Contacts.Read、Contacts.ReadWriteContacts.Read, Contacts.ReadWrite
アプリケーションApplication Contacts.Read、Contacts.ReadWriteContacts.Read, Contacts.ReadWrite

HTTP 要求HTTP request

ユーザーのメールボックス内のすべての連絡先を取得するTo get all the contacts in a user's mailbox:

GET /me/contacts
GET /users/{id | userPrincipalName}/contacts

ユーザーのメールボックス内の特定のフォルダーにある連絡先を取得するTo get contacts in a specific folder in the user's mailbox:

GET /me/contactfolders/{Id}/contacts
GET /users/{id | userPrincipalName}/contactfolders/{id}/contacts

GET /me/contactFolder/{id}/childFolders/{id}/.../contacts
GET /users/{id | userPrincipalName}/contactFolders/{id}/childFolders/{id}/contacts

オプションのクエリ パラメーターOptional query parameters

たとえば、$filter クエリ パラメーターを使って、メール アドレスに基づいて連絡先をフィルターすることができます。You can use the $filter query parameter to filter contacts based on their email addresses:

GET https://graph.microsoft.com/v1.0/me/contacts?$filter=emailAddresses/any(a:a/address eq 'garth@contoso.com')

$filteranyそしてeq演算子を使用できるのはemailAddressesコレクションのaddressサブプロパティのみなので注意が必要です 。Note that you can use $filter, any, and the eq operator on only the address sub-property of instances in an emailAddresses collection. すなわち、氏名 またはemailAddressesの 1 つのインスタンスの他のサブ プロパティでフィルター抽出することはできませんし、filter 以下のような ne, lestartswith()その他の演算子や関数を適用したりすることはできません。That is, you cannot filter on the name or any other sub-property of an instance of emailAddresses, nor can you apply any other operator or function with filter, such as ne, le, and startswith().

$filterクエリのパラメーターの一般的な情報については、OData クエリ パラメーターを参照してください。For general information on the $filter query parameter, see OData query parameters.

要求ヘッダーRequest headers

ヘッダーHeader Value
AuthorizationAuthorization ベアラー {トークン}。必須。Bearer {token}. Required.
Content-TypeContent-Type application/jsonapplication/json

要求本文Request body

このメソッドには、要求本文を指定しません。Do not supply a request body for this method.

応答Response

成功した場合、このメソッドは 200 OK 応答コードと、応答本文で Contact オブジェクトのコレクションを返します。If successful, this method returns a 200 OK response code and collection of Contact objects in the response body.

Example

要求Request

以下は、要求の例です。Here is an example of the request.

GET https://graph.microsoft.com/v1.0/me/contacts
応答Response

以下は、応答の例です。注:簡潔にするために、ここに示す応答オブジェクトは切り詰められている場合があります。すべてのプロパティは実際の呼び出しから返されます。Here is an example of the response. Note: The response object shown here may be truncated for brevity. All of the properties will be returned from an actual call.

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

{
  "value": [
    {
      "parentFolderId": "parentFolderId-value",
      "birthday": "datetime-value",
      "fileAs": "fileAs-value",
      "displayName": "displayName-value",
      "givenName": "givenName-value",
      "initials": "initials-value"
    }
  ]
}