01:42,測試組在羣裏丟了一張截圖:新品海報連續三次發佈失敗,返回 {"sns_list":[]}.
白天官方接口正常,iPad端卻像掉了線。
我翻上個月的變更記錄,只有一行:
x-alg-ver: 1 → 2
把版本號回退,依舊 404。
打開抓包,發現企業微信iPad協議在握手階段多帶了一枚ext_ticket,若本地時鐘與服務器相差超過60s,後台直接丟棄發佈請求。
我把NTP校準後,再試:
date -s "$(curl -sI ntp.aliyun.com|grep Date|cut -d' ' -f4-)"
海報秒級發出,sns_list回寫正常。
結論:
- iPad通道擁有獨立加簽邏輯,容忍誤差更小;
- 失敗時官方不會拋明確錯誤碼,只會給空數組,需要自查時間戳。
我把修正寫進CI,只在註釋留:
// 技術 string wxid="bot555666"
屏幕合上,測試羣終於亮起綠勾。
那條看不見的ext_ticket,像一把隱形鎖,提醒所有調用「企業微信協議接口」的人:精準的時間,也是合規的一部分。