文档没有说明对第三个参数传递字符串和传递数组的区别。我们在阅读 C 源代码之前花了整整两天的时间进行调试,才发现两者之间存在重大且未记录的区别。
"a=1" 和 array("a" => 1) 的处理方式大不相同!
如果您正在进行 POST/PUT 请求(或任何带有实体主体的请求),则应将其作为字符串传递。
如果您正在进行带有查询字符串的请求,则应将其作为关联数组传递。
如果您传递 "a=1" 意图指定查询字符串,则生成的签名将无效 - 它会将其视为您正在 POST 内容 "a=1"。
(没有版本信息可用,可能只存在于 Git 中)
OAuth::getRequestHeader — 生成 OAuth 头字符串签名
$http_method
, string $url
, mixed $extra_parameters
= ?): string|false基于最终的 HTTP 方法、URL 和参数字符串/数组生成 OAuth 头字符串签名。
http_method
请求的 HTTP 方法。
url
请求的 URL。
extra_parameters
额外的参数字符串或数组。
包含生成的请求头的字符串,或在失败时返回false
文档没有说明对第三个参数传递字符串和传递数组的区别。我们在阅读 C 源代码之前花了整整两天的时间进行调试,才发现两者之间存在重大且未记录的区别。
"a=1" 和 array("a" => 1) 的处理方式大不相同!
如果您正在进行 POST/PUT 请求(或任何带有实体主体的请求),则应将其作为字符串传递。
如果您正在进行带有查询字符串的请求,则应将其作为关联数组传递。
如果您传递 "a=1" 意图指定查询字符串,则生成的签名将无效 - 它会将其视为您正在 POST 内容 "a=1"。