频道栏目
首页 > 资讯 > 微信公众平台开发 > 正文

微信全网发布返回api文本消息、普通消息、事件消息失败

16-12-08        来源:[db:作者]  
收藏   我要投稿

最近在看微信第三方全网的问题,然后看了下微信官方文档,在这里就不吐槽官方文档写太简单了。

自己摸索后终于研究出来了。废话不多说,直接上部分代码。

1.全网API检测:

//全网API检测

define('WXUSERNAME', 'gh_3c884a361561');
if($postObj->ToUserName == WXUSERNAME && preg_match('/^QUERY_AUTH_CODE/',trim($postObj->Content))){
global $JSON_FLAG;
$access_token = getThirdAccessToken();
$auth_code = preg_replace('/^QUERY_AUTH_CODE:(.+)/', '$1', trim($postObj->Content));
// 使用授权码换取公众号接口调用凭证和授权信息
$urlAuth = "https://api.weixin.qq.com/cgi-bin/component/api_query_auth?component_access_token={$access_token}";
$contentutAuth= json_encode([
"authorization_code" => $auth_code, //授权方appId
"component_appid" => $component_appid
], $JSON_FLAG);
$resultAuth = json_decode(https_request($urlAuth, $contentutAuth));
$auth_token = $resultAuth ->authorization_info->authorizer_access_token;
$text =(object)['content'=> $auth_code.'_from_api'];
$content = json_encode([
"touser" => (string)$postObj->FromUserName,
"msgtype" => "text",
"text" => $text
], $JSON_FLAG);
error_log(var_export($content,true),3,'1.log');
$url="https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token={$auth_token}";
$res = json_decode(https_request($url, $content));
error_log(var_export($res,true),3,'1.log');
}

2.回复文本消息

if ($object->ToUserName == WXUSERNAME && $object->Content == 'TESTCOMPONENT_MSG_TYPE_TEXT') {
$resultStr = $this->transmitText($object, 'TESTCOMPONENT_MSG_TYPE_TEXT_callback', $funcFlag);
$flage = true;
return $resultStr;

}

3.事件消息

case "LOCATION":
// 微信全网event检测
$contentStr = $object->Event."from_callback";
break;
相关TAG标签
上一篇:MIUI 6 沉浸式状态栏调用方法
下一篇:js中字符串替换及转换
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站