微信公众平台,开放平台等相关基础知识

开放平台
释意:开放互联
平台提供:创建移动应用、创建网站应用、绑定公众帐号、创建公众号第三方平台
核心作用:提供UnionID,可以作为一个userCenter来管理所有渠道汇集过来的微信用户,识别用户唯一性。

一、简要描述和已开放功能
1、移动应用
接入微信开放平台,让你的移动应用支持微信分享、微信收藏和微信支付。
1.1、微信登录
1.2、微信分享与收藏
1.3、微信支付
1.4、微信智能接口(图像识别,语音设别,语音合成,语义理解)
2、网站应用
接入微信开放平台,让你的网站支持使用微信帐号来登录
2.1、微信扫码登录
2.2、微信智能接口(语义理解)
3、绑定公众帐号
接入微信开放平台公众帐号开发,为亿万微信用户提供轻便的服务。
(另翻一篇详说)
4、公众号第三方平台
成为公众号第三方平台,为广大公众号提供运营服务和行业解决方案
(暂无研究)

二、网站应用实践的相关记录
1、创建过程

1.1.1、填写基本信息
附件:微信开放平台网站信息登记表
1.1.2、填写网站信息,即授权回调域
只需要填写域名即可。
1.1.3、提交审核
1.2、据了解,之前起名,不受限制,现在对名字要求严格,尽量保持唯一性。所以对于已经出现过的名字,要求提供证明材料,证明对此名字有绝对的使用权。也许不久的将来,微信也会出一个商标名注册类似的东西吧。。。
1.3、审核提示是7个工作日,实际非常快,两三个小时可能就通过了审核。

2、程序实践
2.1、请求code
2.1.1、跳转方式获取code
$appid = 'wx597628e7e8fdbd47';
$redirect_uri = urlencode('http://www.ladybirdedu.com/wechat/callback.php'); // 回调地址
$scope = 'snsapi_login'; // 网站应用目前只能填这个
$state = md5('pregnancy'.time().rand(1,9999));

$url = "https://open.weixin.qq.com/connect/qrconnect?appid={$appid}&redirect_uri={$redirect_uri}&response_type=code&scope={$scope}&state={$state}#wechat_redirect";

header('Location:'.$url);
2.1.2、jssdk方式获取code
$state = md5('pregnancy'.time().rand(1,9999));
$_SESSION['state'] = $state;
?>







2.2、通过code获取access_token
<?php
$appid = 'wx597628e7e8fdbd47'; // 公众平台下,网站应用, 孕期提醒
$appsecret = 'fc02648b9f7698733b0bb45dbe1fcb88';
$state = $_GET['state'];

if ($state != $session_state) {
// die("授权终止");
}
$code = $_GET['code'];

$url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid={$appid}&secret={$appsecret}&code={$code}&grant_type=authorization_code";
$r = curlRequest($url);
var_dump($r);

3、各类功能接口汇总
3.1、请求code
https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
3.2、通过code获取access_token
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
3.3、刷新access_token有效期
https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN
3.4、检验授权凭证(access_token)是否有效
https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID
3.5、获取用户个人信息(UnionID机制)
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID

公众平台
释意:微信公众平台是运营者通过公众号为微信用户提供资讯和服务的平台,而公众平台开发接口则是提供服务的基础,开发者在公众平台网站中创建公众号、获取接口权限后,可以通过阅读本接口文档来帮助开发。
平台提供:订阅号,服务号,企业号,小程序
核心说明:微信公众平台开发是指为微信公众号进行业务开发;不要跟开放平台弄混淆。
其他说明,详见官方文档。https://mp.weixin.qq.com/wiki

一、简要描述和已开放、可申请功能 https://mp.weixin.qq.com/wiki
1、权限(开始前必读——公众号接口权限说明)
2、接口测试号申请:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
3、接口在线调试:http://mp.weixin.qq.com/debug/
4、其他先看看官方文档吧。。。。。

二、微信内网页授权登录以及指定内容分享
1、授权登录
https://mp.weixin.qq.com/wiki?action=doc&id=mp1421140842&t=0.46117882231840723#1
2、指定分享内容
https://mp.weixin.qq.com/wiki?action=doc&id=mp1421141115&t=0.9996787578927169#fxjk
关于指定分享内容,之前尝试过,在非绑定域名下调起绑定域名下的资源,指定分享内容,结果是失败了。(有接触过,深究过的,一起探讨下,有没有其他可以绕过去的办法)

之前在专题那边封装的一个微信分享