Microsoft graph api 如何将microsoft graph 365用户配置文件照片从二进制数据转换为可读的图像格式

Microsoft graph api 如何将microsoft graph 365用户配置文件照片从二进制数据转换为可读的图像格式,microsoft-graph-api,Microsoft Graph Api,我已经成功地在PHP中使用Microsoft Graph API显示了有关管理员用户配置文件照片的信息,下面是我使用的代码 为了获得图像,您需要像这样使用$value: $value参数用于请求实际图像。但是,您的调用请求的不是对$进行URL编码的URL,而且PHP/Curl似乎只是忽略了结果 尝试改用URL编码版本的%24value CURLOPT_URL=>”https://graph.microsoft.com/v1.0/me/photo/%24value", 这正是我所使用的。我认为有必

我已经成功地在PHP中使用Microsoft Graph API显示了有关管理员用户配置文件照片的信息,下面是我使用的代码


为了获得图像,您需要像这样使用$value:


$value
参数用于请求实际图像。但是,您的调用请求的不是对
$
进行URL编码的URL,而且PHP/Curl似乎只是忽略了结果

尝试改用URL编码版本的
%24value

CURLOPT_URL=>”https://graph.microsoft.com/v1.0/me/photo/%24value",

这正是我所使用的。我认为有必要将图像转换为浏览器可读的格式。在Jason Rivera,我已经编辑了我的帖子,其中包含了我迄今为止工作的全部细节,以及目前存在的问题。在Marc Lafleur,我已经用您的解决方案更新了我的代码,但下面显示了错误Wat Marc,我已经添加了您的解决方案,它在{“error”:{“code”:“BadRequest”,“message”:“找不到与请求的可接受MIME类型匹配的支持MIME类型。支持的类型为”'application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false,application/json;odata.streaming=true;IEEE754Compatible=true,application/json;odata.streaming=true,application/json;odata.metadata=minimal;odata.streaming=false;IEEE754Compatible=false,etcI也更新了我的提问/发帖以反映所显示错误的全部细节。请告诉我。感谢您完全删除
accept
标题。还要确保您正在请求
/$value
。JSON是对象的序列化表示,而不是编码。为了在
img
标记中显示图像,您需要提供一个ata url(
data:image/gif;base64,{base64 image}
)。有关如何工作的概述,请参阅。
{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('2b7f8bf2-3d23-43e6-b068-39aa5009fed7')/photo/$entity",
    "@odata.mediaContentType": "image/jpeg",
    "@odata.mediaEtag": "\"10F9EA34\"",
    "id": "504X504",
    "height": 504,
    "width": 504
}
Below is the new error message after implementing Marc Solutions

CURLOPT_HTTPHEADER => array(
    "authorization: Bearer $acc",
    "accept: image/jpeg",
    "content-type: application/json; charset=utf-8"

)



HTTP/1.1 400 Bad Request
Cache-Control: private
Transfer-Encoding: chunked
Content-Type: application/json
request-id: 93186bcd-05ad-41b5-bafe-8f5c4d7a3952
client-request-id: 93186bcd-05ad-41b5-bafe-8f5c4d7a3952
x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"North Central US","Slice":"SliceA","Ring":"3","ScaleUnit":"001","Host":"AGSFE_IN_14","ADSiteName":"CHI"}}
OData-Version: 4.0
Duration: 104.1582
Date: Sun, 03 Dec 2017 16:09:14 GMT

{
  "error": {
    "code": "BadRequest",
    "message": "A supported MIME type could not be found that matches the acceptable MIME types for the request. The supported type(s) 'application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false, application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=true, application/json;odata.metadata=minimal;odata.streaming=true, application/json;odata.metadata=minimal;odata.streaming=false;IEEE754Compatible=false, application/json;odata.metadata=minimal;odata.streaming=false;IEEE754Compatible=true, application/json;odata.metadata=minimal;odata.streaming=false, application/json;odata.metadata=minimal;IEEE754Compatible=false, application/json;odata.metadata=minimal;IEEE754Compatible=true, application/json;odata.metadata=minimal, application/json;odata.metadata=full;odata.streaming=true;IEEE754Compatible=false, application/json;odata.metadata=full;odata.streaming=true;IEEE754Compatible=true, application/json;odata.metadata=full;odata.streaming=true, application/json;odata.metadata=full;odata.streaming=false;IEEE754Compatible=false, application/json;odata.metadata=full;odata.streaming=false;IEEE754Compatib...' do not match any of the acceptable MIME types 'image/jpeg'.",
    "innerError": {
      "request-id": "93186bcd-05ad-41b5-bafe-8f5c4d7a3952",
      "date": "2017-12-03T16:09:14"
    }
  }
}
https://graph.microsoft.com/v1.0/me/photo/$value