因为只需要获取 open id,不用去让用户授权一次。代码和一些处理逻辑还参考了 ruby china 的另一个帖子,但忘记链接了
在公众号里点了按钮到 check_openid 的路由下,页面空白,也没有报错啥的,检查了 log 里没有我想要的 openid 出现...我把微信里的回调 url 改成了 get_code 的路由,依然日志里没有我想要的东西..不知道到底哪一步有问题。
公众号花了 300 块,是有这个接口权限的,安全域名我也添加了服务器的域名。
不知道若没有花 300 块是否就没有这个接口的使用权限
没有调试成功的原因是:在 wx 文档里说安全域名不能有前缀 http 或 https,于是我误以为回调 redirect_uri 也不能要,这个 “我以为” 就是调试不成功的原因,加上 http 或 https 就可以了。回调路由就是 get_code 或 check_openid。
```ruby
class Api::WxpaymentsController < ApplicationController
# get_code function exists for testing, could be dumped
respond_to :json
def get_code
code = params[:code]
state = params[:state]
Rails.logger.info("=====")
Rails.logger.info(code)
Rails.logger.info ("*****")
Rails.logger.info (state)
api_render_result(t, E_SUCCESS)
return
end
if session[:openid]
Rails.logger.info("Get the openid ~!--->#{session[:openid]}")
Rails.logger.info("Get the code ~!--->#{code}")
end
# api_render_result(t, E_SUCCESS)
end
end