最近在开发微信的一些功能,如企业号的开发,做一些OA的功能,内容包括公文传阅、流程审批等功能。

1.到https://qy.weixin.qq.com注册一个企业号。成功后会分配一个CorpID和一个Secret。记录下这两个数据。说明CorpID是企业号ID,Secret是管理组凭证,这两个是微信的管理组凭据。如图:

2.通过API传递参数在微信服务器端获取验证。

例:string redirectUrl = WeixinUrls.Instance().OAuthAuthorize(corpId, encodeurl, state);

说明:corpId(企业号ID)、encodeUrl为成功后返回的URL,这里的encodeurl必须是进行HttpUtility.UrlEncode()处理后的URL、state你可以认为是传递的参数。我们在程序里是这样处理的:string state = string.Format("{0}_{1}", corpId, appid);

如果验证成功回返(记得encodeurl吗?对就是这个http路径)的参数中会有两个参数string code, string state

3.通过以上两个参数获取accessToken,这个时间就需要引用weChat.API文件。

例:var accessToken = TokenManager.Instance().GetAccessTotken(CorpID, Secret, out errMessage);

说明:errMessage是获取accessToken提示的错误信息,如果为空则获取成功。

4.通过accessToken和code,agentId获取用户信息。

例:var result = WeixinHelper.Instance().OAuthGetUserInfo(accessToken, code, agentId);

说明:通过员工授权获取到的code,每次员工授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。agentId为企业号应用ID(此应用号ID对应企业号,一般一个企业号能对就3个应用号)。

result包括用户Id:UserId,用户图片:avatar,用户部门:department

5.通过当前用户信息,获取用户的相关信息。

var getUserResponse = WeixinHelper.Instance().GetUser(accessToken, result.UserId);

说明:getUserResponse为用户的泛型集合。有Email、weixinid、mobile、gender、name等相关微信注册信息。

好了写到这里基本的过程都已经完成了,这里要说明的是我们这里只是基于微信的API去获取微信企业号中的用户的基本信息。所以不涉及一些向用户发送消息以及消息显示的相关的问题。但如果你有兴趣可以自己研究下,如果有任何相关的问题可以联系我:QQ:305931534,附件中有相关的代码(我们的项目是一个MVC项目)

微信开发总结1——关于微信企业号API,Auth验证相关推荐

  1. 微信开发(3)微信支付

    微信开发(3)微信支付 一. 微信后台设置 1.添加测试授权目录和测试白名单: 在微信后台,设置测试授权目录,如http://xxx.sinaapp.com/example/,测试白名单中添加你的微信 ...

  2. 微信开发实例视频教程-深入浅出微信公众平台实战开发

    微信开发视频教程-深入浅出微信公众平台实战开发(微网站.LBS云.Api接口调用.服务号高级接口) 一.微信开发实例视频教程总目录: 微信开发实例视频教程 讲师介绍: 易伟,现广东合桓律师事务所专职律 ...

  3. 为微信开发填坑:微信网页支付的开发流程及填坑技巧

    GitChat 作者:极笔北客 原文:为微信开发填坑:微信网页支付的开发流程及填坑技巧 关注微信公众号:「GitChat 技术杂谈」 一本正经的讲技术 [不要错过文末彩蛋] 小程序作为微信之父张小龙钦 ...

  4. 为微信开发填坑:微信网页支付的开发流程及填坑技巧 1

    GitChat 作者:极笔北客 原文:为微信开发填坑:微信网页支付的开发流程及填坑技巧 关注微信公众号:「GitChat 技术杂谈」 一本正经的讲技术 [不要错过文末彩蛋] 小程序作为微信之父张小龙钦 ...

  5. 微信开发(02)之处理微信客户端发来的消息

    在上一篇微信开发的博文中微信开发(01)之如何成为开发者,我们开启了微信开发者模式,本篇博文我们简单的处理微信关注者发给我们公众号的消息. 在开启微信开发者模式时,我们配置了一个URL地址,当我们提交 ...

  6. 微信开发:springboot接入微信公众号

    微信公众号现今已经成为我们日常生活中获取信息的一个重要途径,今天这篇博客主要是介绍如何用springboot接入微信的公众号.微信的公众号分三种:订阅号,一般个人使用,很多功能受限:服务号,个人与企业 ...

  7. 微信开发流程总结(基于微信平台)

    一.openid 和 unionid 是什么? openid:微信小程序的唯一标识码,就想人的身份证号码一样,能在同一主体公众号下面确定小程序 unionid:unionid 和 openid 在本质 ...

  8. python微信开发入门_python tornado微信开发入门代码

    本文实例为大家分享了python tornado微信开发的具体代码,供大家参考,具体内容如下 #微信入门代码 #!/usr/bin/env python2.7 # -*- coding: utf-8 ...

  9. PHP微信开发素材管理,PHP微信开发包,微信开发SDK

    本人自己用PHP原生开发的微信SDK包,有兴趣得可以了解一下.可以通过composer安装,或者码云下载.感兴趣的可以加Q群:735713840 相互讨论 使用详情见 index.php 文件内注释 ...

最新文章

  1. 模型训练完才是业务的开始?说说模型监控 | CSDN博文精选
  2. Android中提示:Service Intent must be explicit:Intent
  3. 使用docker运行微信wechat的安装脚本
  4. maven项目部署打包
  5. c++实现解析文件路径
  6. QTP基础学习(二)启动与设置
  7. April 24, 17:30-20:00, 1479, Concentration-compactness/Rigidity method lecture 3 by Yang Lan
  8. 面试北京XX数通总结
  9. 第四章 Spring.Net 如何管理您的类___统一资源访问接口
  10. 已在页面完全加载前强制排版_公众号写作排版指南v2.0(适配Dark Mode)
  11. python的Singleton模式实现
  12. 诺基亚N9——刷机教程——为双系统做铺垫
  13. 身份证识别——OCR扫描识别
  14. 大数据-玩转数据-Oracle系统知识小结
  15. SEO人员,如何保持创新思维?
  16. 【笔记】Jenkins- 解决 “Error 403 No valid crumb was included in the request“
  17. 如何在不重装系统情况下换个硬盘
  18. 电脑蓝屏造成的数据丢失如何恢复
  19. esc键退出全屏 vue_解决了VUE在浏览器全屏下监听不到Esc键盘事件
  20. 广东计算机二级考试大纲,全国计算机等级考试大纲(二级)

热门文章

  1. HTML+CSS 编辑的(多列布局、相册、百度首页)、盒子模型
  2. 正则匹配里面的(.*?)
  3. MPEG音频编码三十年
  4. polyline与polygon
  5. 榆熙电商:为何购物旗舰店选择优于其他?
  6. vim的安装以及基础使用
  7. 10.3_word2vec-pytorch
  8. 计算机毕业设计JAVA图书个性化推荐系统mybatis+源码+调试部署+系统+数据库+lw
  9. 这年头视频编辑软件也开始内卷了,功能这么强居然免费
  10. 苹果新旧手机数据转移_如何将数据从安卓设备转移到iPhone12_苹果手机_手机学院...