当客户端受到限制时使用其他 HTTP 谓词

在某些情况下,应用只能使用 GET 或 POST 谓词发出 HTTP 请求。 例如,一些代理、防火墙等可能被运营商配置为阻止特定 HTTP 谓词,或某些应用环境可能不支持其他谓词。 对于这些情况,可以使用 OneDrive API,在必要时以其他方式指定 HTTP 谓词。

可以通过 POST 创建任意 HTTP 请求隧道,方法是发出 POST 请求,并将 X-HTTP-Method-Override 标头集添加到要调用的方法中。 这会指示服务器将请求不作为 POST 处理,而是按照指定为标头值的任意谓词进行处理。

此标头仅适用于 POST 请求。 对于其他 HTTP 方法,将遭忽略。

例如,如果防火墙阻止了 DELETE 谓词,应用可创建谓词到 API 的隧道,以确保应用仍可以删除文件。

POST /drive/items/{item-id} HTTP/1.1
Host: api.onedrive.com
X-HTTP-Method-Override: DELETE

此请求将删除所标识的资源。 服务响应将与 HTTP 方法包含 DELETE 时返回的响应一致。