使用 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);
            }
        }
    }
}

结果: