Microsoft Graph是微软提供的一种开发工具,用于访问和管理Microsoft 365中的数据和服务。它提供了一组API,可以通过HTTP请求与Microsoft 365中的各种资源进行交互,包括用户、邮件、日历、文件、组织结构等。
要使用Microsoft Graph SDK获取具有特定电子邮件域的所有用户,可以按照以下步骤进行操作:
using Microsoft.Graph;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
string clientId = "YOUR_CLIENT_ID";
string clientSecret = "YOUR_CLIENT_SECRET";
string tenantId = "YOUR_TENANT_ID";
string domain = "YOUR_EMAIL_DOMAIN";
var graphClient = GetAuthenticatedGraphClient(clientId, clientSecret, tenantId);
var users = await GetUsersByDomain(graphClient, domain);
foreach (var user in users)
{
Console.WriteLine($"User: {user.DisplayName}, Email: {user.Mail}");
}
}
static GraphServiceClient GetAuthenticatedGraphClient(string clientId, string clientSecret, string tenantId)
{
var confidentialClientApplication = ConfidentialClientApplicationBuilder
.Create(clientId)
.WithClientSecret(clientSecret)
.WithAuthority($"https://login.microsoftonline.com/{tenantId}")
.Build();
var authProvider = new ClientCredentialProvider(confidentialClientApplication);
return new GraphServiceClient(authProvider);
}
static async Task<List<User>> GetUsersByDomain(GraphServiceClient graphClient, string domain)
{
var users = new List<User>();
var nextPage = await graphClient.Users.Request().Filter($"mailNickname/endswith('{domain}')").GetAsync();
while (nextPage != null)
{
users.AddRange(nextPage.CurrentPage);
nextPage = await nextPage.NextPageRequest.GetAsync();
}
return users;
}
}
请注意,上述代码中的YOUR_CLIENT_ID
、YOUR_CLIENT_SECRET
、YOUR_TENANT_ID
和YOUR_EMAIL_DOMAIN
需要替换为你自己的应用程序注册信息和特定的电子邮件域。
这是一个基本的示例,你可以根据自己的需求进行扩展和修改。此外,Microsoft Graph还提供了许多其他功能和API,可以用于访问和管理Microsoft 365中的各种资源。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云