0

如果您是微信开发者,您能帮我解决以下问题吗?

首先,当我需要提交表单时,我在表单上输入了我的侦听器 URL 和一个随机字符串标记。当我按下提交时,出现以下消息。

您的服务器没有正确响应令牌验证。请参考消息 API 指南

我真正怀疑的是我在函数中返回的数据。

我试图以 STRING 格式返回 'true' / return 'false' 以 JSON 格式返回 json_encode(array(true))/json_encode(array(true))

而且两者都不起作用,请问微信此时接受了什么样的响应?如果您能在这方面为我提供帮助,我将不胜感激。谢谢!

4

2 回答 2

1

您应该响应微信发送的名为 echostr 的请求参数,以便您的服务器进行正确的身份验证。此时您不应发送任何其他数据。本质上,这就是发生的事情。

微信在请求中发送以下参数:签名(3个嵌套参数的散列字符串),令牌(你提供这个),时间戳(一个unix时间戳),nonce(随机字符串),echostr

然后您执行以下操作: - 获取时间戳、随机数、标记并将它们组合成一个数组,按字母顺序对数组进行排序并将其转换为字符串并使用 sha1

- 将该字符串与签名参数进行比较。

- 如果匹配,则使用 echostr 参数回复微信。

确保您没有发送任何其他消息,即打印到屏幕等。

于 2014-06-17T10:05:11.013 回答
-1

您在服务器上使用哪种编程语言?

如果是PHP,可以参考微信支持页面上的示例代码。

我们使用 Django 作为服务器,它可以工作。

一个教训是有些服务器可能响应慢(超过 5 秒),无法通过微信 Token 验证。您可以检查任何其他人之前使用相同的平台。

我们办公室的服务器不工作,但 IDC 上的服务器托管工作。

于 2014-05-21T16:56:55.570 回答