連絡先を一覧表示する
名前空間: microsoft.graph
重要
Microsoft Graph の /beta
バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。
ユーザーのメールボックスで連絡先を取得します。
アプリが別のユーザーの連絡先フォルダーから連絡先を取得できるシナリオは2つあります。
- アプリにアプリケーションのアクセス許可がある場合。または
- アプリに「あるユーザーから適切に委任されたアクセス許可」があり、別のユーザーがそのユーザーとコンタクトフォルダーを共有しているか、そのユーザーに委任されたアクセスを付与している場合。 詳細と例を参照してください。
この API は、次の国内クラウド展開で使用できます。
グローバル サービス | 米国政府機関 L4 | 米国政府機関 L5 (DOD) | 21Vianet が運営する中国 |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
アクセス許可
この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「 アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、 アクセス許可のリファレンスを参照してください。
アクセス許可の種類 | 最小特権アクセス許可 | 特権の高いアクセス許可 |
---|---|---|
委任 (職場または学校のアカウント) | Contacts.Read | Contacts.ReadWrite |
委任 (個人用 Microsoft アカウント) | Contacts.Read | Contacts.ReadWrite |
アプリケーション | Contacts.Read | Contacts.ReadWrite |
HTTP 要求
ユーザーの既定の連絡先フォルダー内のすべての連絡先を取得する
GET /me/contacts
GET /users/{id | userPrincipalName}/contacts
ユーザーのメールボックス内の特定のフォルダーにある連絡先を取得する
GET /me/contactfolders/{Id}/contacts
GET /users/{id | userPrincipalName}/contactfolders/{id}/contacts
GET /me/contactFolders/{id}/childFolders/{id}/.../contacts
GET /users/{id | userPrincipalName}/contactFolders/{id}/childFolders/{id}/contacts
オプションのクエリ パラメーター
たとえば、$filter
クエリ パラメーターを使って、メール アドレスに基づいて連絡先をフィルターすることができます。
GET https://graph.microsoft.com/beta/me/contacts?$filter=emailAddresses/any(a:a/address eq 'garth@contoso.com')
$filter
、any
そしてeq
演算子を使用できるのはemailAddressesコレクションのaddressサブプロパティのみなので注意が必要です 。 すなわち、氏名 またはemailAddressesの 1 つのインスタンスの他のサブ プロパティでフィルター抽出することはできませんし、filter
以下のような ne
, le
や startswith()
その他の演算子や関数を適用したりすることはできません。
$filter
クエリのパラメーターの一般的な情報については、OData クエリ パラメーターを参照してください。
要求ヘッダー
ヘッダー | 値 |
---|---|
Authorization | ベアラー {token}。 必須です。 認証と承認の詳細については、こちらをご覧ください。 |
要求本文
このメソッドには、要求本文を指定しません。
応答
成功した場合、このメソッドは 200 OK
応答コードと、応答本文の 連絡先 オブジェクトのコレクションを返します。
例
要求
次の例では、サインインしているユーザーの連絡先の displayName プロパティと emailAddresses プロパティを取得します。
GET https://graph.microsoft.com/beta/me/contacts?$select=displayName,emailAddresses
応答
次の例は応答を示しています。
注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/beta/$metadata#users('c3e1fcd2-db78-42a8-aec5-1f2cd59abb5c')/contacts(displayName,emailAddresses)",
"value":[
{
"@odata.etag":"W/\"EQAAABYAAACv7At+UNVFRLhGciJGF6v5AAAve7f6\"",
"id":"AAMkADh6v5AAAvgTCFAAA=",
"displayName":"Elvis Blank",
"emailAddresses":[
{
"type":"personal",
"name":"Elvis Blank",
"address":"elvisb@contoso.com"
},
{
"type":"other",
"otherLabel":"Volunteer work",
"name":"Elvis Blank",
"address":"elvisb@contoso.com"
}
]
},
{
"@odata.etag":"W/\"EQAAABYAAACv7At+UNVFRLhGciJGF6v5AAAve7fn\"",
"id":"AAMkADh6v5AAAvgTCEAAA=",
"displayName":"Pavel Bansky",
"emailAddresses":[
{
"type":"personal",
"name":"Pavel Bansky",
"address":"pavelb@contoso.com"
},
{
"type":"other",
"otherLabel":"Volunteer work",
"name":"Pavel Bansky",
"address":"pavelb@contoso.com"
}
]
}
]
}