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