微信开放平台_微信开放平台开发者 - CSDN
精华内容
参与话题
  • 1、OAuth2.0 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。 允许用户提供一个令牌,而...

    1、OAuth2.0

      OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。

      允许用户提供一个令牌而不是用户名和密码来访问他们存放在特定服务提供者的数据。每一个令牌授权一个特定的网站(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅是某一相册中的视频)。这样,OAuth允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要分享他们的访问许可或他们数据的所有内容。
    2、目标
      我们这里主要模拟使用OAuth2.0,用户通过扫描我们网页应用的二维码并进行授权登录来获取用户的基本信息的过程。详细的接口相关信息可以在微信开放平台上查看:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&lang=zh_CN
    3、前期准备(获取微信开发者权限)
      我们这里主要讲的是网站(Web)应用,网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统(即上面的协议)。在微信客户端授权登录(获取用户信息)的可以查看:http://www.cnblogs.com/0201zcr/p/5131602.html

      在进行微信OAuth2.在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的网站应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接入流程。

    3.1、注册开发者账号
      可以在https://open.weixin.qq.com/ 这里申请开发的账号。由于是腾讯的网页,这里可以直接通过 QQ号进行登录。
    3.2、提交网站应用审核
      在已经登录的界面中选择“管理中心”——》网站应用——》创建网站应用
       将会弹出下面的界面
      填写过后,还有有一个页面需要填写,提交一份纸质版申请书扫描件(会提供模板,我们下载再来填写后,需盖章,签名),配置回调域名(扫码登录后会跳转的页面)等。
      之后提交审核即可,等微信审核通过,我们即可获得我们需要的网页应用的appid和AppSecret,并配置后回调的域名了(这三样是我们开发所必须的)。
    3.3、开发者资质认证
      由于我们这里要使用微信登录的接口,所以我们还需要向微信提出认证,只有认证了才能使用微信那些高级的接口。未认证的如下图所示
       认证之后是这样子的:
        我现在暂时没有找到可以向公众账号那样子的测试账号的申请。如果有知道怎么可以申请到测试账号的高手,希望能赐教一下。
      接下来,我们就可以开始我们的网页微信扫码登录开发了。
    4、授权流程说明
      微信OAuth2.0授权登录让微信用户使用微信身份安全登录第三方应用或网站,在微信用户授权登录已接入微信OAuth2.0的第三方应用后,第三方可以获取到用户的接口调用凭证(access_token),通过access_token可以进行微信开放平台授权关系接口调用,从而可实现获取微信用户基本开放信息和帮助用户实现基础开放功能等。

      微信OAuth2.0授权登录目前支持authorization_code模式,适用于拥有server端的应用授权。该模式整体流程为:

    1. 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;
    2. 通过code参数加上AppID和AppSecret等,通过API换取access_token;
    3. 通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。

       获取access_token时序图:

     
    5、获取网页的二维码
      当我们通过微信的认证,获取到了appid和AppSecret,并配置了回调的域名。我们就已经可以获取属于我们网页的二维码了,获取的方式很简单,只需打开一个微信的链接,加上我们的appid和回调域名即可在网页上面打开二维码,用户用微信客户端扫码并授权登录之后即会跳转到我们配置的回调域名下。
    注意:
    1、这里填写的是域名(是一个字符串),而不是URL,因此请勿加http://等协议头;
    2、授权回调域名配置规范为全域名,比如需要网页授权的域名为:www.qq.com,配置以后此域名下面的页面http://www.qq.com/music.html 、 http://www.qq.com/login.html 都可以进行OAuth2.0鉴权。但http://pay.qq.com 、 http://music.qq.comhttp://qq.com无法进行OAuth2.0鉴权

    5.1、请求url说明

      第三方使用网站应用授权登录前请注意已获取相应网页授权作用域(scope=snsapi_login),则可以通过在PC端打开以下链接:

    https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

     

     参数说明
    参数是否必须说明
    appid应用唯一标识(前面认证网页应用中获得)
    redirect_uri重定向地址,需要进行UrlEncode(前面认证网页应用中获得)
    response_type填code
    scope应用授权作用域,拥有多个作用域用逗号(,)分隔,网页应用目前仅填写snsapi_login即可
    state用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加session进行校验
     返回说明
       用户允许授权后,将会重定向到redirect_uri的网址上,并且带上code和state参数
    redirect_uri?code=CODE&state=STATE

       若用户禁止授权,则重定向后不会带上code参数,仅会带上state参数

    redirect_uri?state=STATE

    5.2、事例:

      一号店的微信二维码链接如下:

    https://open.weixin.qq.com/connect/qrconnect?appid=wxbdc5610cc59c1631&redirect_uri=https%3A%2F%2Fpassport.yhd.com%2Fwechat%2Fcallback.do&response_type=code&scope=snsapi_login&state=3d6be0a4035d839573b04816624a415e#wechat_redirect

       将其复制到浏览器中打开即可获得一号店的二维码,二维码页面如下:

      通过使用微信客户端的扫一扫功能,扫描该二维码,即会跳转到上面填写redirect_uri所在的地址上。假如用户同意授权,这里就获得了微信返回的code参数了。

    6、获取用户信息

      假如前面已经获得code。我们可以通过code参数去获取用户openid和access_token,进而获得用户的信息。
    6.1、通过code参数获取access_token
    https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

     参数说明

    参数是否必须说明
    appid应用唯一标识,在微信开放平台提交应用审核通过后获得
    secret应用密钥AppSecret,在微信开放平台提交应用审核通过后获得
    code填写第一步获取的code参数
    grant_type填authorization_code
    返回说明

    正确的返回:

    复制代码
    { 
    "access_token":"ACCESS_TOKEN", 
    "expires_in":7200, 
    "refresh_token":"REFRESH_TOKEN",
    "openid":"OPENID", 
    "scope":"SCOPE",
    "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
    }
    复制代码
    参数说明
    access_token接口调用凭证
    expires_inaccess_token接口调用凭证超时时间,单位(秒)
    refresh_token用户刷新access_token
    openid授权用户唯一标识
    scope用户授权的作用域,使用逗号(,)分隔
     unionid当且仅当该网站应用已获得该用户的userinfo授权时,才会出现该字段。

    错误返回样例:

    {"errcode":40029,"errmsg":"invalid code"}
    注意
    • code参数的超时时间是5分钟,且每次请求的code参数的值都不一样。
    • access_token的超时时间是32分钟。
    6.2、通过access_token获取用户的基本信息
    获取的前提条件
    • access_token有效且为超时;
    • 微信用户已授权给第三方应用账号相应接口作用域(scope)【在二维码生成连接那里填写
    对于接口作用域(scope),能调用的接口有以下:
    授权作用域(scope)接口接口说明
    snsapi_base/sns/oauth2/access_token通过code换取access_token、refresh_token和已授权scope
    /sns/oauth2/refresh_token刷新或续期access_token使用
    /sns/auth检查access_token有效性
    snsapi_userinfo/sns/userinfo获取用户个人信息
     
      使用snsapi_base作用域的授权是扫码之后无需用户点击授权,扫码后直接跳转,用户感觉不到授权了,但这种授权方式能获取的数据量有限,这里我们要获取用户的基本信息,我们需要使用snsapi_userinfo授权。使用snsapi_userinfo授权,扫码后出现类似于下面的授权界面
      此接口用于获取用户个人信息。开发者可通过OpenID来获取用户基本信息。特别需要注意的是,如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号,用户的unionid是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。请注意,在用户修改微信头像后,旧的微信头像URL将会失效,因此开发者应该自己在获取用户信息后,将头像图片保存下来,避免微信头像URL失效后的异常情况。
      
    https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID

     参数说明

    参数是否必须说明
    access_token调用凭证(上一个请求中获得)
    openid普通用户的标识,对当前开发者帐号唯一(上一个请求中获得)
           lang  否国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语,默认为zh-CN
    返回说明

    正确的Json返回结果:

    复制代码
    { 
    "openid":"OPENID",
    "nickname":"NICKNAME",
    "sex":1,
    "province":"PROVINCE",
    "city":"CITY",
    "country":"COUNTRY",
    "headimgurl": "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0",
    "privilege":[
    "PRIVILEGE1", 
    "PRIVILEGE2"
    ],
    "unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL"
    
    }
    复制代码
    参数说明
    openid普通用户的标识,对当前开发者帐号唯一
    nickname普通用户昵称
    sex普通用户性别,1为男性,2为女性
    province普通用户个人资料填写的省份
    city普通用户个人资料填写的城市
    country国家,如中国为CN
    headimgurl用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空
    privilege用户特权信息,json数组,如微信沃卡用户为(chinaunicom)
    unionid用户统一标识。针对一个微信开放平台帐号下的应用,同一用户的unionid是唯一的。

    错误的Json返回示例:

    { 
    "errcode":40003,"errmsg":"invalid openid"
    }

    7、总结 

      最近着手开发了微信网页扫码登录和公众号授权登录收获颇丰,两者的开发很类似。以下是我个人摸索过程中发现的两者的异同:

    • 两者都可以通过微信客户端扫码授权的方式,让第三方页面获得微信用户的一些基本信息(昵称、性别、所在地、在微信唯一标示等……)。他们都是通过提供一个链接让用户授权的方式。但网页版需要在页面打开二维码之后授权,而公众号则需要用户先关注了我们的公众号,然后点开公众号里面的链接,确认授权即可。
    • 网页扫码登录需要将授权的链接(二维码链接)在网页中打开、而公众号授权登录的链接必须要微信客户端中打开。
    • 无论网页扫码登录还是在公众号中授权登录,都是通过授权的方式获得一个code参数,之后通过code参数获取access_token和openid和通过access_token和openid去获取用户的基本信息的请求链接是一样的。
    • 在开发公众号授权登录的过程中,我发现了有测试账号的提供,足以满足我们的测试和开发,但在开发网页扫码时,暂时未发现哪里能获取测试账号,我是通过申请获取的。(希望知道哪里有测试账号的请求高手赐教)。

     公众账号授权登录:http://www.cnblogs.com/0201zcr/p/5131602.html

    微信公众号群发消息:http://www.cnblogs.com/0201zcr/p/5866296.html

       致谢:感谢您的阅读!
    展开全文
  • 微信开放平台申请流程

    千次阅读 2017-01-29 21:11:30
    在你集成sharedSdk的过程中,如果要集成微信相关,首先要到微信开发平台进行相关的配置(相比之下,微信集成是相对于其他集成比较恶心的一项,在微信集成过程中,申请appkey的时候有几天的审核时间,但是在集成qq...


    Ps:此篇文章属于转载,纯属于为了记录信息。附原作者地址:http://bbs.mob.com/thread-95-1-4.html


    在你集成sharedSdk的过程中,如果要集成微信相关,首先要到微信开发平台进行相关的配置(相比之下,微信集成是相对于其他集成比较恶心的一项,在微信集成过程中,申请appkey的时候有几天的审核时间,但是在集成qq登录的时候是没有相关的审核时间的。)



    微信的申请流程:1、登录微信开放平台:https://open.weixin.qq.com/
     

    2、登录后创建应用
     

    3、创建应用,添加基本的应用信息
     


    4、点击下一步要添加应用工程的基本信息,包名与签名;
     


    此签名有两种方法可以获取到:
    1、利用签名工具获取(先将自己的工程打包apk安装到手机上,然后输入包名获取签名);
     

    2、打包的MD5值转化(去除连接符号,并且将大写转换小写)
     
    将获取到的签名填写到,微信开发平台的签名处;

    最后提交审核,会得到如图所示的AppID;
     

    视频演示微信MD5打包签名:


    视频地址:http://v.youku.com/v_show/id_XODA0NjI5MDc2.html

    展开全文
  • 微信开放平台网站应用配置

    千次阅读 2017-03-29 22:06:18
    微信开放平台

    微信开放平台  网站应用 最简单的 微信网页授权登录

    需要注意的是 网站应用和微信授权  两种登录方式的 微信appid 和 appsecret 是不一样的 


    进入 查看


    有一个授权回调域  这里不需要像微信授权那样配到路径   只要域名就可以了  例如 www.baidu.com   

    后面的其他回调路径 需要在具体的请求中进行配置  

    https://open.weixin.qq.com/connect/qrconnect?

    appid= 微信网站应用的APPID

    &

    redirect_uri=回调地址

    &

    response_type=code  (获取微信用户code  这个和微信授权登录差不多)

    &

    scope=snsapi_login (微信默认就好了  其他的自己去看)

    &

    state=STATE#wechat_redirect


    展开全文
  • 微信第三方开放平台研发实战

    万次阅读 2019-07-05 10:16:32
    微信开放平台之第三方平台是为了让公众号或小程序运营者,在面向垂直行业需求时,可以一键授权给第三方平台,让其帮助完成业务开发,且是基于微信 CRM 的必要组成模块之一。 对于刚开始接触第三方平台开发的人员来说...

    课程介绍

    微信开放平台之第三方平台是为了让公众号或小程序运营者,在面向垂直行业需求时,可以一键授权给第三方平台,让其帮助完成业务开发,且是基于微信 CRM 的必要组成模块之一。

    对于刚开始接触第三方平台开发的人员来说,微信开发平台的文档相对比较复杂,现阶段网上博客文章较为杂乱零散,无法提供有效的指导。

    通过本达人课的学习,读者将熟悉第三方平台中的授权流程、Token 管理、相关功能的开发等以及通过全网发布的测试,最终上线。让您真正能够从0到1完成第三方平台的搭建。

    为此本达人课主要分为三大部分,逐步介绍环境搭建到正式全网发布:

    第一部分:准备阶段,让你了解第三方平台。主要包括平台的申请以及开发环境的搭建,为后面实战阶段做准备。

    第二部分:实战阶段,针对业务场景进行具体的开发。主要包括平台授权流程以及利用基于第三方平台进行开发,包括场景二维码、分组以及自定义回复等功能。

    第三部分:上线阶段。详细介绍如何满足微信端的测试进行上线发布。

    作者介绍

    李杨,高级研发工程师。OCP 与 PMP 资格认证,曾任某培训机构 Hadoop 讲师;擅长 Java 开发、数据库设计以及开发等。现就职于一家初创公司,有同名公众号“LeeYond”。

    课程内容

    导读:浅谈微信开放平台之第三方平台

    导读

    如果你针对微信公众号进行过开发,那么你肯定曾在微信公众号后台,配置过自己的域名服务器以及密钥等信息。之后,基于这个配置,对该公众号进行定制化开发,例如自动登录、个人中心、自定义二维码等,乃至当你针对第二个微信公众号进行开发时,可能仍需要进行重复的步骤,并配置不同的域名以及密钥等。于此同时,每次开发,你还要保存公众号的账号密码,并需要获取公众号所有者的授权,过程不安全且繁琐。

    随着要维护的公众号数量逐步增加,需要投入的资源以及成本也随之增加(不同公众号需要不同的域名以及服务器资源)。此时你可能需要一个平台,能够同时管理这些公众号。无论具体的业务是什么场景,基于微信的开发必然是基于微信底层提供的各种接口,根据不同业务形态展开。为此我们可以通过抽象出功能层以及业务层来解构每个微信公众号的开发,其中功能层即微信提供的基础功能(回复消息/微信菜单管理/分组管理等),业务层即不同的业务场景。那么功能层就变成了第三方平台,一次开发供 N 个公众号使用,提供标准化的接口服务来满足业务的基础需求,业务层基于第三方平台进行其他更深的业务拓展,例如搭建 CRM 系统。

    那么如何使用第三方平台呢?对于第三方平台来说,可以通过扫描二维码授权给平台,帮助 N 多个公众号代实现业务,不再需要理解繁琐参数设置,并且密码不提供给开发者,保证安全。根据微信官方介绍,第三方平台的开放,让公众号或小程序运营者在面向垂直行业需求时,可以通过一键登录授权给第三方开发者,来完成相关能力。

    第三方平台其本质是对于微信公众号开发底层功能层的抽象,不同公众号通过其授权将自身业务嵌入平台当中。

    第三方平台

    业务特点

    从业务特征上来说,第三方平台特点必须如图所示:

    第三方平台业务特征

    从具体的业务场景上说,第三方平台包括以下场景:

    1. 提供行业解决方案,如针对电商行业的解决方案,或针对旅游行业的解决方案等;
    2. 对公众平台功能的优化,如专门优化图文消息视觉样式和排版的工具,或专门定制的 CRM 用户管理功能,或功能强大的客服系统。

    数据安全

    在技术上,第三方平台是通过获得公众号或小程序的接口授权,然后代公众平台帐号调用各业务接口来实现业务的,例如其可以代公众号调用接口、代公众号处理消息和事件、代公众号发起网页授权等(其实部分功能与公众号开发重合)。所以第三方平台本质是针对单个公众号开发的升级。因此,第三方平台在调用各接口时,同样必须遵循公众平台运营规范。

    理论上当用户将公众号授权给第三方平台之后,第三方平台从某种程度上已经接手公众号,可以利用公众号的 Token 进行各种操作,例如修改菜单、自定义回复、创建分组等等。

    由于公众号授权给第三方平台,用户与公众号进行交互的信息将会传送到第三方平台的服务器上。微信为了保证数据的安全性,进行了较为复杂的授权流程,如下图所示:

    image_1c9rsoma7m711opu1ts41tt9ap39.png-26.5kB

    在后面的课程中,我会针对该流程进行详细讲解、分析,以及如何通过代码实现完整的授权。

    同时要求用户与公众号交互的信息加密传输(单独的公众号开发的时候是可以选择明文传输),并且有一套相对较为负责的加解密流程进行数据传输。官方描述为:首先请注意,开发者在接收消息和事件时,都需要进行消息加解密(某些事件可能需要回复,回复时也需要先进行加密)。但是,通过 API 主动调用接口(包括调用客服消息接口发消息)时,不需要进行加密。

    权限集合

    微信为第三方公众平台提供的服务包括公众号以及小程序,其中前者提供了20多种、后者近10种不同的权限类型。由于不同行业具有不同的特征,所以这些权限集合是可以根据自己需求进行个性化选择的,例如客户系统,CRM 系统所需要的权限集合是不一样的。

    并且当第三方平台进行全网发布时,根据选择不同的权限集合会进行相关的测试,只有当平台通过测试之后,其他公众号才能授权给该平台,利用该平台代实现业务。

    所以综合来看第三方平台开发是一个相对复杂的工程,对于一个刚接触第三方平台开发的同学来说,想要快速上手是一个相对来说比较困难的事情。同时由于现阶段网络上关于第三方平台介绍的文章残次不齐,进行信息筛选将花费较多的时间成本。

    达人课目标

    第三方平台开发流程及问题

    第三方平台从申请到全网发布主要经历如下几个步骤:

    1. 授权流程
    2. 公众号相关接口开发
    3. 小程序相关接口开发(不在此次课程范围)
    4. 测试以及发布。

    对于步骤1来说,微信每10分钟会向服务器推送一个 Verfiy Ticket,平台需要利用该 Ticket 获取 Component Access Token,利用该 Token 结合用户授权码才可能完成整个授权过程。这里涉及到 Token 保存问题、Token 失效刷新问题、用户授权信息保存问题、用户授权的公众号 Token 刷新问题等。功能性的实现相对比较简单,但是作为系统来说,必须总体的设计才能稳定提供的服务。

    对于步骤2来说,微信针对公众号提供大约20+权限集合,每一种权限集合可能对应不同的应用场景,并且每种权限集合需要的参数以及接口都不相同。如何合理的设计我们的类,使我们相对优雅的进行开发,这都是我们需要考虑的问题

    对于步骤4来说,微信为了保障平台的稳定性,发布时需要进行测试,然而这是基于步骤1、2较好的完成的基础上,如何快速的通过测试,以及不同的测试报错如何快速定位,都是摆在我们面前的问题。

    达人课特点

    笔者当初开发时,进行相关信息检索发现文章质量较差,无法提供合理的指导,所以比较了解刚接触平台开发时可能遇到的具体问题。

    为此本达人课将从第三方平台申请开始到发布结束,系统的介绍每个步骤可能遇到的问题,以及提供相对合理的解决方案。同时针对关键的一些功能进行单独的讲解,例如:个性二维码、自定义分组以及自定义回复等。

    同时本达人课并不是单纯的讲接口的功能实现,而是结合具体的业务场景规划我们的数据库、相应类的设计以及具体的功能设计。并且会在课程中放上具体的步骤或者代码,有兴趣的同学可以按照具体的步骤进行开发,逐步搭建属于自己的平台。

    结束语

    本次开发主要使用的语言为 Java,采用 SSM(Spring+SpringMVC+Mybaits)框架,同时数据库表结构设计部分可能采用维度建模的思想。

    如果有什么问题或者在课程中想要着重了解的地方,可以在我的读者圈或者关注我同名公众号“LeeYond”(微信号:Mist_L)与我联系,此外有意向换工作的 Java 小伙伴,也可以与我联系。

    备注: 为了更好的学习本达人课,读者可能需要对 Java 有一定的了解,并对操作系统有一定的了解,熟悉 JDK 安装/Tomcat 安装以及相关环境变量配置等。为了更好的学习本课程,可能需要对 Maven 有一定的了解。

    其次由于后面可能会涉及到数据库表结构的设计,所以需要对数据库也要有一定的了解。由于第三方平台开发相对比较复杂,读者最好首先熟悉一下官方文档以及相关流程。

    第01课:准备阶段——开发环境准备以及第三方平台申请

    本文的重点主要介绍第三方平台开发环境的信息,现列出相关的配置信息。

    环境准备

    硬件环境

    • 开发环境:普通 PC 机器(我的配置是 I5/8G/256G SSD);
    • 生产环境:根据具体的业务场景配置硬件需求。

    软件环境

    (1)开发环境:

    • 操作系统:Windows、Linux、Mac OS 都可以进行开发;
    • 软件要求:JDK1.7+,Tomcat8.X,MariaDB10.X(其他数据库也可以,但本文讲解后开发都使用 MariaDB),IntelliJ IDEA,开发框架选用的 SSM(Spring+SpringMVC+Mybatis);
    • 其他要求:由于申请第三方平台需要域名,可能需要内网穿透工具,例如花生壳或者其他类似工具,Maven环境,需要将 JAVA_PATH 等添加到环境变量中

    (2)生产环境:

    • 操作系统:Linux(建议非必须)
    • 软件要求::JDK1.7+ ,Tomcat8.X, MariaDB10.X
    • 其他要求:服务器需要绑定域名(当然继续使用内网穿透工具也OK,但是1.专业性问题2.带宽问题),需要配置环境变量

    (3)部分软件下载地址:

    申请平台

    申请平台之前必须有一个正在运行的 Web 环境,否则无法通过后面的申请,为此我们需要先创建一个项目之后才能进行申请。

    创建项目

    (1)主要利用 Maven 创建开发项目,以 IntelliJ IDEA 为例,大致过程是选择 “File” -> “New” -> “Project” -> “Maven” -> “Create From archetype”。

    选择 webapp 之后点击 “Next”:

    image_1c9rogkoa94074fqbs12cg1nqim.png-400.2kB

    根据具体情况填写相关信息之后点击“Next”:

    image_1c9rolua3mt3ck71e9n1svlil813.png-26.6kB

    为了加快项目创建,我一般会配置 archetypeCatalog 如下图所示:

    image_1c9rp1mlq1m035rahnq1oes13jr20.png-113.3kB

    保存之后点击“Next”配置项目保存路径:

    image_1c9rp43tm1qpsc1b16n5u1me82d.png-29.2kB

    点击“Finish”完成创建。

    (2)配置 Spring+SpringMVC+Mybatis 环境。网上有太多的文章,大家可以直接搜索,进行配置。

    (3)设置域名(如果有域名的话,可以跳过)。利用内网穿透工具绑定二级域名,并且启动服务。

    (4)启动 Tomcat。此部分大家可以上网查相关资料,在此略过。

    申请平台

    1.点击微信开发平台信息填写页面,注册账号。

    2.开发者资质认证。

    登录之后到 “账号中心” -> “开发者资质认证”,其中该资质认证必须是企业,不能是个人,并且还要300元,审核还是很快的,似乎一天不到。

    3.申请平台。

    申请主要分为四步,包括输入基本信息、选择权限、填写开发资料、等待审核,进入“管理中心”-> “第三方平台” -> “创建第三方平台”进入申请页面。

    (1)输入基本信息

    根据实际情况填写输入基本信息并上传 ICON,点击“下一步”:

    image_1c9rq2fge1esdq7p1ao41to6fge2q.png-235kB

    (2)选择权限

    本课程主要针对公众号,在公众号下面选择权限集合如下图所示:

    image_1c9rq6unr1tk4qttf8811oj14r1m.png-172.5kB

    其中“开放平台账户管理”是实现基于微信 CRM 中的必须选择的选项(当然选择的每一个都很重要)。

    (3)填写开发资料(重要)

    1)授权流程相关。

    image_1c9rqbto21oi8d1v1qqi1ng87kr13.png-63.8kB

    • 授权发起域名:就是你本机的域名,前面不需要加 http,例如 “http://www.baidu.com”,请填写 “www.baidu.com”。
    • 授权测试公众号列表:由于还没全网发布,所以需要添加你需要用来测试开发公众号的原始 id。
    • 授权事件接收 URL:以上面创建 project 为例,“www.baidu.com/gitchat/component/event” 其中粗体根据实际情况填写,申请过程中不会验证该 URL 有效性。这个 URL 主要接收微信的一些参数,相当重要。

    2)授权后实现业务。

    image_1c9rqqbls7ck1757i2i1s621mde13.png-114.9kB

    • 消息校验 Token:密钥,根据自己喜好按照要求填写;
    • 消息加解密 Key:长度43的字符串,随意发挥;
    • 消息与事件接收 URL:此 URL 是每个公众号授权之后发消息到你服务器上的 URL,以截图为例,A、B 公众号授权之后,A 的消息会发送到 “www.baidu.com/gitchat/wechat/A/callback”,B 的消息会发送到 “www.baidu.com/gitchat/wechat/B/callback”,其中 “/gitchat/wechat/\$APPID\$/callback” 根据实际情况填写,但是主要域名必须授权流程中授权发起页域名一致。
    • 公众号开发域名:与授权流程中授权发起页域名一致。并且需要下载 txt 文件,并保存到 Tomcat 下面的 webapps/ROOT。不需要重启服务。

    3)其他。

    根据实际情况填写你的本机 IP,不然后期无法刷新相关 Token。

    image_1c9rr9bp01c7m187dqni14lgh8b1g.png-19.3kB

    点击提交,等待审核。

    (4)等待审核

    基本上,这个审核还是很快的,1-2天基本上都能审核完成。

    当审核通过之后,点击详情查看平台的 AppID 以及 AppSecret(妥善保存),后面需要根据这两个 ID 进行平台 Token 的刷新等。

    附录: 由于后面加解密可能会出现异常:“java.security.InvalidKeyException:illegal Key Size”,请在官方网站下载 JCE 无限制权限策略文件(JDK7 的下载地址,JDK8 也可以用该文件)。

    下载后解压,可以看到 localpolicy.jar 和 USexport_policy.jar 以及 readme.txt,如果安装了 JRE,将两个 Jar 文件放到 %JRE_HOME%\lib\security 目录下覆盖原来的文件;如果安装了JDK,将两个 Jar 文件放到 %JDK_HOME%\jre\lib\security 目录下覆盖原来文件。

    第02课:实战阶段——公众号授权流程解析
    第03课:实战阶段——平台以及用户 Token 存取方案设计及开发
    第04课:实战阶段——场景二维码开发
    第05课:实战阶段——分组功能开发
    第06课:实战阶段——自定义回复功能开发
    第07课:上线阶段——全网发布以及上线

    阅读全文: http://gitbook.cn/gitchat/column/5acf5c1ff8164454a349ed6f

    展开全文
  • 微信小程序授权微信开放平台

    千次阅读 2019-06-30 13:18:26
    这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...
  • 微信开放平台“开发资源”中网站... 据开发者资质认证处介绍:开发者资质认证通过后,微信开放平台帐号下的应用,将获得微信登录、智能接口、第三方平台开发等高级能力。 所以在微信第三方授权登陆获取用户信息...
  • 1 微信开放平台:https://open.weixin.qq.com/ 2 微信官方教程:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316505&token=&...
  • 微信开放平台Android应用签名的本质及如何获取 时间:2018-01-17 15:20:40 访问次数:55 在微信开放平台创建移动应用时上图大家都遇到过,这里的应用签名是什么呢? 这里介绍说可以通过签名生成工具在已安装当前...
  • 微信开放平台 和 微信公众平台 概念不同。   1、首先需要注册微信开放平台,然后获取开发者认证。审批通过之后再创建一个移动应用同样还是需要审批。通过之后就可以给这个应用添加微信授权登陆以及相应功能了...
  • http://www.cnblogs.com/linjunjie/p/6249989.html 微信开放平台 和 微信公众平台 概念不同。 第一步:获取AppID AppSecret(不做解释,自己去微信公众平台申请)   第二步:生成扫描二维码,获取code ...
  • 微信公众平台、微信开放平台的关系背景简介微信公众平台能干什么?微信开放平台(open平台)能干什么? 背景 做微信相关开发的时候,要登录很多账号,而且不同的功能要在这两个账号之间切换来切换去,很烦;所以今天...
  • 许多做微信开发的小伙伴在刚开始接触的时候,普遍面临的一个问题是什么是微信公众平台,什么是微信开放平台这么一个问题,本人最开始也很困扰,也查阅了一些资料,后来开发过程中才渐渐清晰起来,本文的主旨就是给...
  • 一、如何开通微信公众号、微信开发平台、授权认证、接口权限申请等等,这些不在本文描述,请参考官方资料。 二、假设已顺利完成第一步的工作,现在需要在自己开发的网站(PC端、移动端,注意两者略有不同,下文有...
  • 微信公众平台、微信开放平台、商户平台的区别: 一.微信开放平台 主要面对移动应用/网站应用开发者,为其提供微信登录、分享、支付等相关权限和服务。 微信开放平台还提供了数据统计功能,用于开发者统计接入应用...
  • 什么是微信公众平台、微信开放平台?它们之间又有什么区别?下面为大家详细介绍下!   开放平台是网站或app使用的接口平台,利用开放平台可在自己的网站或app上开发微信帐户登录、微信分享等功能! 公众平台是...
  • 微信开放平台 主要面对移动应用/网站应用开发者,为其提供微信登录、分享、支付等相关权限和服务。 微信开放平台还提供了数据统计功能,用于开发者统计接入应用的登录、分享等数据情况。 接入步骤 已京东APP举例...
  • 微信开放平台:网站应用-微信登录

    千次阅读 2019-10-16 17:14:00
    1.首先申请微信开放平台的网站应用: 前期需要认证开发者资质,这里就不介绍了,因为是公司已有的; 然后在管理中心-网站应用-创建网站应用: 有几个点需要注意下: 1.域名是需要有备案的域名,而且,必须是以...
  • ...企业主体信息填写 3、企业认证 申请认证,提交企业信息和财务信息,内地每年认证花费300元 4、申请应用 认证通过后,再申请应用,申请应用需要上传盖有公司公章的扫描图片(这里可不能用手机拍照上传噢,通不过的)...
  • 微信开放平台绑定各移动应用、网站应用、公众号、小程序、第三方的个数 目前没有在微信的文档中找到过具体的数字,只能真正的登录到后台,并且已经认证了的才能看的到。认证需要300元/年。 很多人都不知道具体的...
  • 微信开放平台认证资料填报

    千次阅读 2018-06-13 10:48:52
    1、分清类型,开放平台为了进行微信扫码登录系统的,所以别和公众平台搞混2、进来后需要两个认证,一个开发者资质认证,检测开发主体,准备材料,对公账户,等;另外一个是网站备份,备份一级域名填写好公安备份号3...
1 2 3 4 5 ... 20
收藏数 75,961
精华内容 30,384
关键字:

微信开放平台