微信公众号第三方平台 上线,点全网发布 ,居然返回发送信息不成功 ,调用API失败。后来看了一下文档原来微信第三方平台发布的时候需要用微信自己的公众号做一个检测,看你的基本功能是否完善。他回调用你的发送文本信息的功能,如果你有自己本地的检测,判断公众号是否授权给你的平台,那么 在检测的时候得先把这个检测屏蔽掉,因为微信自己的测试公众号是自动授权给你平台的
微信第三方平台全网发分两部分
第一部分
if($receive_msg_arr['content'] == 'TESTCOMPONENT_MSG_TYPE_TEXT'){
$msg = $this->reTextMsg('TESTCOMPONENT_MSG_TYPE_TEXT_callback');
}
直接调用微信回复接口回复 TESTCOMPONENT_MSG_TYPE_TEXT_callback 这个就可以了 这个比较简单
比较麻烦的是第二部分
第二部分
1 提取query_auth_code
$query_code = explode(":", $receive_msg_arr['content']);
2 获取第三方平台的ticket
$ticket = Weixin_OptweixinModel::getTicket();
3 获取第三方平台的access_token $appid 第三方平台的appid , $appsecret 第三方平台的appsecret, $ticket第二部获取 的ticket
$access_token = getComAccToken($appid,$appsecret,$ticket);
4 获取公众号的授权 $appid 第三方平台的appid,$access_token第3部获取的access_token,$query_code[1]第一步获取的
用户预授权码
$cc = getAuthAccToken($appid, $query_code[1], $access_token);
5 调用客服接口发送信息
$dd=sendServiceMsg($cc['authorization_info'['authorizer_access_token'],array('touser'=>$receive_msg_arr['fromusername'],'msgtype'=>'text','text'=>array('content'=>$query_code[1].'_from_api')));
以上设置完后,点全网发布,就可以了 ,发布的时候有可能提示 公众号access_token无效或重复,这个不用管,多试几次就会成功了,因为在你调用的时候有可能别人也在调用