Office 365 と何らかの方法で統合するシステムがあり、この画像/参照を自分で保存するのではなく、Office 365 システムでユーザーが設定したプロファイル画像を使用したいと考えています。ただし、Office 365 の外部からこの画像にアクセスする方法 (たとえば、電子メール アドレス経由) が見つかりません。
別の言い方をすれば、Office 365 はユーザーのプロフィール写真をGravatarと同様の方法で提供できますか?
Office 365 と何らかの方法で統合するシステムがあり、この画像/参照を自分で保存するのではなく、Office 365 システムでユーザーが設定したプロファイル画像を使用したいと考えています。ただし、Office 365 の外部からこの画像にアクセスする方法 (たとえば、電子メール アドレス経由) が見つかりません。
別の言い方をすれば、Office 365 はユーザーのプロフィール写真をGravatarと同様の方法で提供できますか?
Office365 統合 API (プレビュー) https://msdn.microsoft.com/office/office365/APi/photo-rest-operationsも使用できます。
Base64 でエンコードされたイメージとして使用します。前回の更新以降に変更された API に注意してください。
ここに私のコード:
HttpClient client = new HttpClient();
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get,
"https://outlook.office.com/api/beta/me/photos('96x96')/$value");
request.Headers.Add("ACCEPT", "image/*");
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", authResult.AccessToken);
HttpResponseMessage response = await client.SendAsync(request);
byte[] byteArray = await response.Content.ReadAsByteArrayAsync();
string base64ImageRepresentation = Convert.ToBase64String(byteArray);
if (!response.IsSuccessStatusCode && response.StatusCode >= HttpStatusCode.BadRequest)
{
return string.Empty;
}
return base64ImageRepresentation;
Graph API を使用して、プロフィール写真を含むユーザー エンティティ レコードを取得できます。
http://msdn.microsoft.com/en-us/library/hh974483.aspx - サムネイル写真フィールドを参照してください。
REST API 情報: http://msdn.microsoft.com/en-us/library/hh974478.aspx