使用 Graph API 批量检索联系人和个人资料照片
Retrieve contacts along with profile pic in batches using Graph API
通过下面的查询,我们可以使用 Microsoft Graph 获取联系人的个人资料图片:
https://graph.microsoft.com/v1.0/users/{user-name}/contacts/{id}/photo/$value
使用上述查询检索大量联系人需要更长的时间。有没有办法批量检索联系人和头像?
在下面批量请求的帮助下,联系人以 20(最大)的批量成功获取,但对于个人资料照片,它 returns body
。我无法处理此 body
内容。有没有办法把这个body
处理成可以处理的image
格式。
任何 C# API,如果有,将会很有帮助。
以下是回复。 body
内容没有多大帮助。如何处理?
这里的body
是一张照片的内容,但是是base64编码的。可以直接保存为文件。
这是我来自 Graph API 响应的演示数据:
使用下面的 c# 代码将其保存为图像:
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
var imgBody = "<body value here>";
byte[] bytes = Convert.FromBase64String(imgBody);
using (Image image = Image.FromStream(new MemoryStream(bytes)))
{
image.Save("d:/test.jpg", ImageFormat.Jpeg);
}
}
}
}
结果:
通过下面的查询,我们可以使用 Microsoft Graph 获取联系人的个人资料图片:
https://graph.microsoft.com/v1.0/users/{user-name}/contacts/{id}/photo/$value
使用上述查询检索大量联系人需要更长的时间。有没有办法批量检索联系人和头像?
在下面批量请求的帮助下,联系人以 20(最大)的批量成功获取,但对于个人资料照片,它 returns body
。我无法处理此 body
内容。有没有办法把这个body
处理成可以处理的image
格式。
任何 C# API,如果有,将会很有帮助。
以下是回复。 body
内容没有多大帮助。如何处理?
这里的body
是一张照片的内容,但是是base64编码的。可以直接保存为文件。
这是我来自 Graph API 响应的演示数据:
使用下面的 c# 代码将其保存为图像:
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
var imgBody = "<body value here>";
byte[] bytes = Convert.FromBase64String(imgBody);
using (Image image = Image.FromStream(new MemoryStream(bytes)))
{
image.Save("d:/test.jpg", ImageFormat.Jpeg);
}
}
}
}
结果: