抛出问题
当discuz绑定微信公众号时,可以控制微信公众号的一些操作:
解决问题
而出现这种错误的原因一般由三种:
- 订阅号没有相关的权限
- 账号没有认证,没有相关的权限
- scope 参数位置错误
排查问题:
Discuz的微信配置在:
//proj/source/plugin/weixin/common/config.php
Discuz登录请求开始的位置:
//位置:proj/source/plugin/weixin/common/checkBind.php
<?php
require_once 'config.php';
//openid不存在情况下验证
if(!$_SESSION['openid']){
$sourceUrl=base64_encode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
//配置信息开始验证
$appid = APPID;
$appsecret = APPSECRET;
$REDIRECT_URI='http://'.APPURL.'/plugin.php?id=weixin:callback&source='.$sourceUrl;
$url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$appid."&redirect_uri=".urlencode($REDIRECT_URI)."&response_type=code&scope=snsapi_base&state=1#wechat_redirect";
header("Location:".$url);
}
我的出现原因是配置文件的问题,如果你不是配置文件的问题,可以参考这个解决