Microsoft Graph SDK 是用于与 Microsoft Graph API 进行交互的客户端库。Microsoft Graph API 是一个 RESTful API,它允许开发者访问 Microsoft 365 中的数据,例如用户、组、文件、邮件等。
Microsoft Graph SDK 支持多种编程语言,包括 C#、Java、JavaScript、Python 等。
假设我们要获取特定分辨率的用户头像,可以使用 Microsoft Graph SDK 中的 User
类的相关方法。以下是一个使用 C# 的示例代码:
using Microsoft.Graph;
using Microsoft.Identity.Client;
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
string clientId = "YOUR_CLIENT_ID";
string tenantId = "YOUR_TENANT_ID";
string clientSecret = "YOUR_CLIENT_SECRET";
string userId = "USER_ID";
IConfidentialClientApplication app = ConfidentialClientApplicationBuilder.Create(clientId)
.WithClientSecret(clientSecret)
.WithAuthority(new Uri($"https://login.microsoftonline.com/{tenantId}"))
.Build();
string[] scopes = new string[] { "https://graph.microsoft.com/.default" };
var result = await app.AcquireTokenForClient(scopes).ExecuteAsync();
var accessToken = result.AccessToken;
var graphClient = new GraphServiceClient(new DelegateAuthenticationProvider((requestMessage) =>
{
requestMessage.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", accessToken);
return Task.FromResult(0);
}));
var user = await graphClient.Users[userId].Request().GetAsync();
var photo = await graphClient.Users[userId].Photo.Content.Request().GetAsync();
// Save the photo to a file
System.IO.File.WriteAllBytes("user_photo.jpg", photo);
}
}
请注意,上述代码示例中的 YOUR_CLIENT_ID
、YOUR_TENANT_ID
、YOUR_CLIENT_SECRET
和 USER_ID
需要替换为实际的值。
领取专属 10元无门槛券
手把手带您无忧上云