我正在针对 Microsoft Live API 提出以下请求:
GET https://apis.live.net/v5.0/me/picture?access_token=ACCESS_TOKEN
与对该 API 的任何其他请求不同,结果是重定向到物理图像位置,这会导致返回实际图像对象,而不是包含该图像路径的典型 JSON 响应。
我可以深入研究响应对象并尝试获取Content-Location
标题或其他内容以获取我正在寻找的 URL,但这感觉非常脆弱,并且与我处理所有其他 API 响应的方式不同。
我也知道基于这种行为的 API URL 本身可以充当图像 URL,但是 1)我正在使用在幕后构造该 URL 的客户端,以及 2)我不想保留访问令牌在个人资料图片列中。
Interactive Live SDK实际上显示一个 JSON 对象作为 REST 请求的返回:
{
"location": "https://cid-0000000000000000.users.storage.live.com/users/0x0000000000000000/myprofile/expressionprofile/profilephoto:UserTileStatic"
}
这就是我想要的那种响应,而且由于交互式 SDK 可以显示它,所以必须有某种方法来请求返回 JSON。我尝试redirect=false
在查询字符串中设置(对于 Facebook 来说是必需的,它执行类似的操作)并将Accept
请求标头设置为application/json
. 两者都没有任何效果。