首页 > 解决方案 > 获取 Azure 用户的用户信息:获取零 Content-Length 标头

问题描述

我正在尝试根据 Azure 协议接收用户信息:https ://docs.microsoft.com/en-us/graph/api/user-get?view=graph-rest-1.0&tabs=http 。我使用本机 WinApi (WinHttp) 函数。在读取响应缓冲区之前,我使用 dwInfoLevel = WINHTTP_QUERY_CONTENT_LENGTH调用 fn WinHttpQueryHeaders() ,以接收 Content-Length。几个月前一切正常(内容长度不为零),但最近发生了一些变化,这个字段不存在(见下图),因为我有一个错误' ERROR_WINHTTP_HEADER_NOT_FOUND '。 完整的标头缓冲区 我发现如果传输编码被“分块”,则 Content-Length 标头被省略,因此,它看起来像一个合法的情况。现在,为了接收可能的响应缓冲区大小,我使用了 fn WinHttpQueryDataAvailable(),它工作正常。问题是:Azure 方面发生了什么变化?那么未来的变化呢,我们是否需要在 Azure 发生任何变化后调整我们的代码?谢谢。

标签: azureazure-active-directorymicrosoft-graph-api

解决方案


问题是:Azure 方面发生了什么变化?那么未来的变化呢,我们是否需要在 Azure 发生任何变化后调整我们的代码?

有 Microsoft Graph 更改日志:https ://developer.microsoft.com/en-us/graph/changelog 。它最近不会改变用户响应正文,将来也可能不会改变,因为它会产生很大的影响。

您可以联系 Microsoft 支持者并提供您的 request-id。


推荐阅读