錯誤原因
用戶端與服務端計算的簽名不匹配導致的。
解決方案
當簽名不匹配時網關會通過 HTTP Response Header 中的 X-Ca-Error-Message 返回服務端參與簽名計算的 StringToSign。
StringToSign是使用者請求前需要拼接的一個用於計算簽名的字串,在文檔:【使用摘要簽名認證方式調用API】查看詳細說明。
用戶端只需列印出本地自己拼接的 StringToSign 進行對比,找出哪裡不同,針對性的解決,如果使用的官方提供的調用 Demo,可以到簽名計算的工具類中找出計算簽名前的 StringToSign 列印出來即可進行對比。
因為 HTTP Response Header 中不允許出現分行符號,因此返回結果中的 StringToSign 分行符號都已經被抹去。請參照文檔合理比對。
如果服務端 StringToSign 與用戶端一致,請再檢查使用的 AppKey、AppSecret 是否正確,尤其注意是否額外錯誤添加了空格等不容易發現的字元。