如果您是微信开发人员,可以帮我解决下面的问题吗?
首先,当我需要提交表格时,我输入了我的听众网址&表单上的随机字符串标记。当我按下提交时,会出现以下信息。
您的服务器没有正确回复令牌验证。请 请参阅Message API Guide
我实际怀疑的是我在函数中返回的数据。
我试图回归' true' / return' false'这是STRING格式 以JSON格式返回json_encode(array(true))/ json_encode(array(true))
两者也没有用,我可以知道微信此时接受了什么样的回应?如果你能帮助我,我真的很感激。谢谢!
答案 0 :(得分:2)
您应该响应一个名为echostr的请求参数,该参数由微信发送,以便您的服务器进行正确的身份验证。此时您不应发送任何其他数据。实质上,这就是发生的事情。
微信在请求中发送以下参数: 签名(3个嵌套参数的散列字符串),令牌(你提供这个),时间戳(unix时间戳),nonce(随机字符串),echostr
然后执行以下操作: - 使用时间戳,随机数,令牌并将它们组合成一个arrray,按字母顺序对数组进行排序并将其转换为字符串并使用sha1
- 将该字符串与签名参数进行比较。
- 如果匹配,请回复echostr param的微信。
确保您没有发送任何其他信息,例如打印到屏幕等。
答案 1 :(得分:0)
您使用的服务器编程语言是什么?
如果是PHP,您可以在微信支持页面上查看示例代码。
我们使用Django作为服务器,它的工作原理。
一个经验教训是,一些服务器可能会缓慢响应(超过5秒)无法通过微信令牌验证。你可以检查任何其他人之前使用同一平台。
我们的办公室服务器无法运行,但IDC托管服务器正常运行。