使用Govee API控制灯具返回400错误码的问题求助
解决Govee API调用400状态码问题
核心错误:请求体传递方式错误
你的代码里用params=body把请求数据放到了URL参数里,但Govee的控制API要求JSON格式的请求体,应该用json=body来传递:
修改后的代码:
headers = { "Content-Type": "application/json", "Govee-API-Key": self.govee_key2 } body = { "device": self.pc_light_mac, "model": "H6003", "cmd": { "name": "color", "value": { "r": 255, "g": 255, "b": 255 } } } # 把params换成json参数 r = requests.put("https://developer-api.govee.com/v1/devices/control", headers=headers, json=body) print(r.status_code) # 建议打印响应内容,方便排查更多问题 print(r.text)
额外排查点
- API密钥验证:确认
self.govee_key2是从Govee开发者平台获取的有效密钥,没有拼写错误 - MAC地址格式:检查
self.pc_light_mac是否为设备的正确MAC(Govee API要求的MAC是不带冒号的十六进制字符串,比如a1b2c3d4e5f6,而非a1:b2:c3:d4:e5:f6) - 设备权限:确保你的API密钥已关联要控制的设备,可在Govee开发者后台查看已绑定的设备列表
内容的提问来源于stack exchange,提问作者JonasFarmminer - Minecraft
相关产品推荐
相关产品推荐

