本文内容
命名空间:microsoft.graph
从已登录用户的默认联系人文件夹中获取联系人集合。
在以下两种情况下,应用可以获取其他用户的联系人文件夹中的联系人:
如果该应用程序具有应用程序权限,或者
如果应用具有来自某个用户的相应 委派 权限,而另一个用户与该用户共享了联系人文件夹,或者已为该用户授予委派的访问权限。请参阅 详细信息和示例 。
权限
要调用此 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/v1.0/me/contacts?$filter=emailAddresses/any(a:a/address eq 'garth@contoso.com')
请注意,可以仅针对 emailAddresses 集合的实例的 address 子属性使用 $filter、any 和 eq 运算符。 也就是说,不能筛选 emailAddresses 的实例的 name 或其他子属性,也不能对 filter 应用任何其他运算符或函数,例如 ne、le 和 startswith()。
有关 $filter 查询参数的一般信息,请参阅 OData 查询参数 。
标头
值
Authorization
Bearer {token}。必需。
请求正文
请勿提供此方法的请求正文。
响应
如果成功,此方法在响应正文中返回 200 OK 响应代码和 Contact 对象集合。
示例
请求
下面是一个请求示例。
GET https://graph.microsoft.com/v1.0/me/contacts
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var contacts = await graphClient.Me.Contacts
.Request()
.GetAsync();
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档 。
const options = {
authProvider,
};
const client = Client.init(options);
let contacts = await client.api('/me/contacts')
.get();
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档 。
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/me/contacts"]]];
[urlRequest setHTTPMethod:@"GET"];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
NSError *jsonError = nil;
MSCollection *collection = [[MSCollection alloc] initWithData:data error:&jsonError];
MSGraphContact *contact = [[MSGraphContact alloc] initWithDictionary:[[collection value] objectAtIndex: 0] error:&nserror];
}];
[meDataTask execute];
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档 。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
ContactCollectionPage contacts = graphClient.me().contacts()
.buildRequest()
.get();
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档 。
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
result, err := graphClient.Me().Contacts().Get()
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档 。
Import-Module Microsoft.Graph.PersonalContacts
# A UPN can also be used as -UserId.
Get-MgUserContact -UserId $userId
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档 。
响应
这是一个示例响应。注意:为提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"parentFolderId": "parentFolderId-value",
"birthday": "datetime-value",
"fileAs": "fileAs-value",
"displayName": "displayName-value",
"givenName": "givenName-value",
"initials": "initials-value"
}
]
}