[本文所描述的内容具有一定的时效性,请以实际开发所处环境为准]

在微信企业号开发(1)--基础入门中,我们已经学习了,我们的程序结构应该如何设计。接下来,我们会按照微信企业号开发者接口文档的顺序,逐一介绍其功能实现。另外,由于博主开发方向调整,开发者接口文档中的所有内容,不会全部列出。对于相同实现原理的部分,仅仅给出一个示例即可,还请各位观众老爷们见谅,但不会影响其他文章的更新。敬请期待!

-------------------------------------------------------------------------------------------------------------------------------------

开始我们的干货部分吧!

1.首先我们打开微信企业号开发者接口文档:http://qydev.weixin.qq.com/wiki/index.php?title=%E9%A6%96%E9%A1%B5

【特别特别提醒,在开发过程中,不尽要遵照企业号的开发者文档,还请遵守公众平台开发者开发文档,理由嘛,一想便知。特别是:其中关于频率,token,错误返回码等内容。请读者们留意。】

2.在企业号开发者文档中,欢迎页面请自行阅读,我们直接来看第二条:建立连接。本文中,我们先学习如何主动调用的连接。

[1]在这里,我把企业号开发者文档中的内容,以截图的内容提供给大家,详细内容还请访问上面地址所指向的文档。

下图中,请仔细阅读理解,CorpID,Secret,AccessToken的概念,以及他们之间的关系,权限的概念等。

[2]了解了这些概念之后,我们来看看如何获取参数,及设置权限。

a.首先,我们打开公众平台管理界面,进入设置选项界面,并且将滚动条拖到底部。发现我们要找的权限管理选项。

b.点击权限管理所在行。会进入下图所示界面。此时,如果没有管理组,请新建一个管理组,新建流程按照提示操作即可。完成之后,能够看到下图所示界面。

c.我们点击上图中的管理组下的“1”选项,见到下图所示界面。这里我们重点关注最下方的CorpID,Secret两个参数。其余的参数设置,还请看官们自己动手设置一下,便知道这些不同设置的差异点。

d.将上面的两个参数记录下来,以备后面使用。请注意,这两个参数请妥善保存,对于一个企业号而言,这两个参数再结合上图的权限设置就能控制企业号的运行,使用或保存不当都有可能会导致当前企业号信息的泄露,存在极大的安全隐患。因此,建议在实际使用中,做好这些重要的参数保密性。

[3]到此,我们的参数准备就完成了,接下来,开始我们正式的开发工作。在下面,以及后续的文章中,已经足够详细的介绍开发的细节,便不再介绍诸如工程建立等最基本的操作。我们只会简单列出操作步骤,还请各位看官亲自动手尝试开发。

a.为了后续的开发,我们先建立一个web工程,但是本文中我们不会使用web特性。

b.新建一个具体的类,用于我们获取AccessToken。

c.查看企业号开发者文档中AccessToken的获取部分的内容,如下图:

d.在本例中,我们演示使用JAVA的HttpURLConnection方式实现获取这两个参数。下面所示的方法,我们是按照通用的get、post实现的。我们获取accesstoken时,可是不使用第三个参数。那么实际使用时我们需要将下列参数传递至方法中:

requestUrl:https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=id&corpsecret=secrect【请使用上面我们获取的两个参数进行替换】

requestMethod:get【开发者手册中已经明确说明为:get】

另外,我们使用的JSONOBject作为结果保存方式,JSONObject的jar包,本例中使用json-lib-2.3-jdk15.jar,请读者自行下载,后续我们也会介绍这个jar中的方法如何使用等。

[代码不严谨之处,还请积极留言!]

@Overridepublic JSONObject HttpRequest(String requestUrl, String requestMethod,String outputStr) {JSONObject jsonObject = null;StringBuffer buffer = new StringBuffer();OutputStream out = null;InputStream input = null;InputStreamReader inputReader = null;BufferedReader reader = null;HttpURLConnection connection = null;try {// 建立连接URL url = new URL(requestUrl);connection = (HttpURLConnection) url.openConnection();// 设置http头部信息connection.setDoOutput(true);connection.setDoInput(true);connection.setUseCaches(false);connection.setRequestMethod(RequestMethod);// 写入消息实体if (outputStr != null) {out = connection.getOutputStream();out.write(outputStr.getBytes("UTF-8"));}// 流处理input = connection.getInputStream();inputReader = new InputStreamReader(input, "UTF-8");reader = new BufferedReader(inputReader);String line;while ((line = reader.readLine()) != null) {buffer.append(line);}jsonObject = JSONObject.fromObject(buffer.toString());} catch (Exception e) {//日志处理等,请自行实现} finally {try {if (outputStr != null) {out.close();}// 关闭连接、释放资源if (reader != null) {reader.close();}if (inputReader != null) {inputReader.close();}if (input != null) {input.close();}input = null;connection.disconnect();} catch (Exception e) {//日志处理等,请自行实现}}return jsonObject;}

e.我们运行这个方法,正常情况下,已经能够得到微信给我们返回的AccessToken。如果发生错误,请查看微信开发者文档中关于全局返回码的说明部分。

-------------------------------------------------------------------------------------------------------------------------------------

至此,我们在主动调用模式下为了调用微信服务接口的准备工作已经基本完成。

特别说明:

微信接口文档可能处于变动之中,请一定参照最新版的开发文档进行开发。

参考资料:

[1]微信公众平台开发者文档:http://mp.weixin.qq.com/wiki/home/index.html

[2]企业号开发者接口文档:http://qydev.weixin.qq.com/wiki/index.php?title=%E9%A6%96%E9%A1%B5

微信企业号开发(2)--建立连接(主动)相关推荐

  1. 新书《微信企业号开发揭秘》已出版,全书采用WeChatEnterprise框架开发

            新书<微信企业号开发揭秘>已出版,全书基于源码与API逐步讲解,采用WeChatEnterprise框架开发 纸质书购买地址:  天猫    京东    当当    亚马逊 ...

  2. 微信企业号开发实例源码

    从微信服务号到微信企业号开发也有段时间了,微信服务号主要是参考柳峰的博客学习的,http://blog.csdn.net/lyq8479/article/category/1366622/2. 微信企 ...

  3. 微信企业号开发之 企业号人员身份认证与开发

    前言 这里完全可以链接一个登录页面,让用户输入用户名密码进行登录的...2333 但是,这样所就完全失去了微信企业号的意义,本来进入微信企业号的时候,就已经对人员身份进行认证了,你这里再让别人登录,不 ...

  4. 微信 考勤 php,微信企业号开发之微信考勤Cookies的使用_javascript技巧

    在上篇文章给大家介绍了微信企业号开发之微信考勤百度地图定位,接下来通过本文学习微信企业号开发之微信考勤Cookies的使用,具体内容如下. 使用微信考勤,每次使用微信企业号开发:微信用户信息和web网 ...

  5. 微信企业号开发:微信考勤百度地图定位,错误修正二

    在之前的博客中微信企业号开发:微信考勤百度地图定位,错误修正介绍了一种修正百度地图错误的方法,就是使用高德地图修正.但经过近一年.近两千人的使用发现,在百度地图出现定位错误时,通过HTML5获取的经纬 ...

  6. 微信企业号开发:微信考勤Cookies的使用

    使用微信考勤,每次使用微信企业号开发:微信用户信息和web网页的session的关系这个里边的方法,调用微信的接口,有点慢,微信官方也推荐使用Cookies,但如何使用Cookies,自己却一直没有搞 ...

  7. 微信企业号开发(6)--发送消息

    [本文所描述的内容具有一定的时效性,请以实际开发所处环境为准] 今天我们介绍我们日常使用最频繁的发送消息功能,在企业号中,由于移除了诸多的限制,消息的发送量几乎没有限制.但是,在此,特别提醒大家,千万 ...

  8. 微信企业号开发:接收消息和事件

    接收到的消息和事件,其实都是微信post到我们配置的URL的消息.接收普通消息就是用户给公众号发送的消息,事件是由于用户的特定操作,微信post给我们的消息.被动响应消息是我们收到微信post过来的普 ...

  9. 微信企业号开发:启用回调模式

    微信企业号开发怎样启用回调模式?就是简单的登陆PC版微信,点击应用中心,选择须要应用,再点击回调模式启用? 似乎不是这么简单.! 能够看到核心的仅仅有三个URL.Token,EncodingAESKe ...

最新文章

  1. ubuntu下amd超频工具_Ubuntu 16.04 LTS 推荐开源 AMDGPU 和 Radeon 驱动程序-阿里云开发者社区...
  2. python处理json数据_python处理json格式的数据
  3. PSD分层模板素材|电商页面这样设计,转化率成倍提高!
  4. 服务器端脚本和客户端脚本
  5. 论文笔记_S2D.38_2018-CVPR_DORN_用于单目深度估计的深度有序回归网络
  6. Android HAL(硬件抽象层)介绍以及调用
  7. Git如何统计代码行数
  8. HTML5/CSS3动画应用
  9. Anaconda Prompt :python.exe - 无法找到入口,无法定位程序输入点
  10. 解决安装MySQL后,Excel打开很慢的问题
  11. vmware应用程序无法正常启动0xc000007b
  12. 假设一张纸的厚度是1mm,那么这张纸折叠多少次可以到达珠穆朗玛峰的高度(8848m)?
  13. 人工智能学习笔记:基本遗传算法及其改进算法
  14. ※ 数值信息——除二取余
  15. 8千兆光口8千兆电口千兆8光8电16口千兆汇聚型工业以太网交换机 室外宽温卡口交换机
  16. 运行Springboot项目时报错WhiteLabel Error Page
  17. 太为难我了,阿里面试了7轮...
  18. 了解react-hook以及State Hook
  19. sqlserver 人名_SQLserver运维必备:T-SQL语句练习
  20. 打地鼠小游戏 版本一

热门文章

  1. 一种解决方法 Error: No such file or directory @ rb_sysopen
  2. C语言把分钟数转换成小时和分钟
  3. mysql如何盈利_mysql到底是不是免费的?
  4. 什么是ETL,ETL是什么技术?
  5. 我的java学习之路之Spring MVC
  6. C语言:程序设计综合训练
  7. 550+集Java学习全套视频课程,新手入门收藏
  8. 深度学习技巧应用4-模型融合:投票法、加权平均法、集成模型法
  9. 阿里云CentOS7挂载SSD云盘的方法
  10. 基于tomcat的javaweb在线教学网站的开发--完成登录、注册以及考试页面