微信开发
作者QQ:67065435 QQ群:669756510
本站内容全部为作者原创,转载请注明出处!
由于微信开发文档阅读时比较混乱,现整理如下: 部分细节本处未整理,比如access_token存在有效期、获取新access_token后旧access_token依然有5分钟有效期等...
开放平台
-
- 获取开放票据(被动接收)
# 在微信开放平台-第三方平台创建一个新的第三方平台,该平台创建时要填写自己服务器上的一个后端链接,这个后端链接可以接收到来自微信服务器的请求,服务器的请求 # 中会携带component_verify_ticket,每10分钟都有新的component_verify_ticket发过来,component_verify_ticket有效期是12小时 提供: 1. 第三方的消息接收地址 必须 (登录官网后在官网自行配置,第三方平台审核通过后,微信服务器每10分钟会向该地址推送component_verify_ticket,有效期12小时) 获得: 1. component_verify_ticket - 获取公共请求钥
# 接收到了component_verify_ticket,我们查看微信开放平台-第三方平台的component_appid、component_appsecret,然后使用这三个参数获取component_access_token, # component_access_token 存在有效期7200秒,有效期内尽量不要再次获取component_access_token,因为新的component_access_token会使原来的component_access_token # 在10秒后失效,为了系统的稳定,建议在第7000秒就去获取新的component_access_token,保证component_access_token前后衔接稳妥 提供: 1. component_appid 必须 第三方平台的appid(登录官网后在官网找) 2. component_appsecret 必须 第三方平台的appsecret(登录官网后在官网找) 3. component_verify_ticket 必须 微信服务器向你自己的服务器推送(上一步获取) 获得: 1. component_access_token 第三方平台的component_access_token 2. expires_in component_access_token 的有效时长(秒) - 获取预授权码
# 现在有了component_access_token,就可以获取pre_auth_code了,pre_auth_code用来生成带二维码的授权链接,pre_auth_code虽然有有效期,但是只能使用一次!!! # 但是只能使用一次!!!但是只能使用一次!!!但是只能使用一次!!!但是只能使用一次!!!但是只能使用一次!!!但是只能使用一次!!!但是只能使用一次!!! 提供: 1. component_appid 必须 第三方平台的appid(登录官网后在官网找) 2. component_access_token 必须 第三方平台的component_access_token(上一步获取) 获得: 1. pre_auth_code 第三方平台的预授权码 2. expires_in pre_auth_code 的有效时长(秒) - 生成带二维码的授权链接
# 有了pre_auth_code,就可以通过redirect_uri指定一个后端链接,该链接用来接收用户扫码授权后的authorization_code,然后通过后面多个步骤,获取到公众号的一些重要信 # 息保存到数据库,并跳转到一个用户可见的界面,提示公众号授权成功。 提供: 1. component_appid 必须 第三方平台的appid(登录官网后在官网找) 2. pre_auth_code 必须 预授权码(上一步获取) 3. redirect_uri 必须 回调uri(扫描二维码同意授权后,授权链接页跳到的链接,该链接不要带GET参数,而且要保持授权域一致) 4. auth_type 必须 授权类型:点击授权链接后 1-仅授权公众号 2-仅授权小程序 3-公众号、小程序都授权(与biz_appid互斥) 5. biz_appid 非必须 授权指定的小程序/公众号的唯一标识(与auth_type互斥,不用管这个参数,用auth_type实现授权功能就行了) 获得: 1. authorization_code 第三方平台的公众号授权码 - 获取授权信息(主动获取)
# 有了authorization_code,就来获取authorizer_access_token、authorizer_refresh_token,authorizer_access_token可以用来实现公众号在第三方平台调用某些与用户互动的接口(图文创建、消息推送等) # authorizer_access_token存在有效期,而且不能频繁获取,因此建议将authorizer_access_token保存下来,在快要到期的时候通过authorizer_refresh_token获取新的authorizer_access_token 提供: 1. component_appid 必须 第三方平台的appid(登录官网后在官网找) 2. component_access_token 必须 第三方平台的component_access_token(上上一步获取) 3. authorization_code 必须 第三方平台的公众号授权码 获得: 1. authorization_info 授权信息 1. authorizer_appid 公众号在第三方平台的appid 2. authorizer_access_token 公众号在第三方平台的access_token 3. expires_in authorizer_access_token 的有效时长(秒) 4. authorizer_refresh_token 用来刷新authorizer_access_token(下一步才用到) 5. func_info 授权公众号允许第三方平台调用的权限,见权限集列表↓ 权限集列表: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/product/third_party_authority_instructions.html - 刷新授权码(主动获取)
# 该接口用来刷新authorizer_access_token 提供: 1. component_appid 必须 第三方平台的appid(登录官网后在官网找) 2. component_access_token 必须 第三方平台的component_access_token(上上上一步获取) 3. authorizer_appid 必须 公众号在第三方平台的appid(上一步获取) 4. authorizer_refresh_token 必须 用来刷新authorizer_access_token(上一步获取) 获得: 1. authorizer_access_token 公众号在第三方平台的access_token 2. expires_in authorizer_access_token 的有效时长(秒) 3. authorizer_refresh_token 用来刷新authorizer_access_token - 获取授权信息(主动获取)
# 该接口使用authorizer_appid来获取公众号的昵称、头像、公众号类型、认证状态等信息 提供: 1. component_appid 必须 第三方平台的appid(登录官网后在官网找) 2. component_access_token 必须 第三方平台的component_access_token(上上上上一步获取) 3. authorizer_appid 必须 公众号在第三方平台的appid(上上一步获取) 获得: 1. nick_name 公众号昵称 2. head_img 公众号头像 3. service_type_info 0: 订阅号 1: 老订阅号 2: 服务号 4. verify_type_info -1: 未认证 0-已认证 1:新浪认证 2:讯微认证 3:名称未认证 4:新浪认证,名称未认证 5: 讯微认证,名称未认证 5. user_name 公众号原始id 6. principal_name 公众号主体 7. alias 公众号微信号 8. business_info 开通功能 1. open_store 微信门店 0-未开通 1-已开通 2. open_scan 微信扫商品 0-未开通 1-已开通 3. open_pay 微信支付 0-未开通 1-已开通 4. open_card 微信卡券 0-未开通 1-已开通 5. open_shake 微信摇一摇 0-未开通 1-已开通 1. qrcode_url 公众号二维码 -
# 这里接收通知的链接与第一步所说的链接是同一个 提供: 1. 无 获得: 1. AppId 2. CreateTime 3. InfoType 1. unauthorized 取消授权 2. updateauthorized 更新授权 3. authorized 授权成功 4. AuthorizerAppid 5. AuthorizationCode 6. AuthorizationCodeExpiredTime 7. PreAuthCode - 批量获取用户信息(‘openid批量获取’是公众平台的接口,在这能用)
- openid批量获取
- openid获取用户信息(看本文第四步)
- 获取开放票据(被动接收)