微信企业号开发
主要介绍微信企业号开发开发遇到的各种各样的问题,以及微信企业号开发学习过程
xuexiaodong2009
主要从事C#编程,精通SQL,JS,jquery等技术,目前主要从事内部办公,微信企业号方面的应用
展开
-
微信企业号开发:上传文件错误44001,"errmsg":"empty media data,
上传文件是经常出现错误"errcode":44001,"errmsg":"empty media data对照文档一直很难发发小错误,最后才发现是因为缺少了回车换行符1开始boundary之后需要一个回车换行2Content-Type之后需要两个回车换行3文件内容结束后需要一个回车换行4结束boundary之后需要一个回车换行 /// <summary> ...原创 2018-10-16 13:24:49 · 8220 阅读 · 0 评论 -
微信企业号开发:发送图片消息
发送图片类型的消息,必须先上传文件,然后才能发送图片1上传图片/// <summary> /// 媒体文件类型,分别有图片(image)、语音(voice)、视频(video),普通文件(file) /// </summary> /// <param name="filePath"></param&...原创 2018-10-16 13:17:56 · 2831 阅读 · 0 评论 -
微信企业号开发:添加修改通讯录
微信企业号升级后,使用之前的方法添加部门和人员就会有问题。是因为AccessToken的获取修改了,现在获取AccessToken的方法有一些改变,现在每一个应用都有自己的AccessToken,而不是原来的只有一个AccessToken,因此获取AccessToken是需要根据应用获取对应的AccessToken,而不是原来的AccessToken。但获取通讯录的信息,任何一个应用的Access原创 2017-12-11 11:06:54 · 5524 阅读 · 1 评论 -
微信企业号开发:getlocation:invalid appid
通过微信的接口开发打卡考勤很长时间了,最近遇到一个很奇怪的问题,getlocation:invalid appid? wx.config({ beta: true,// 必须这么写,否则在微信插件有些jsapi会有问题 debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc原创 2017-10-23 09:34:55 · 13194 阅读 · 1 评论 -
微信企业号开发:企业支付成功后关闭交易页面问题
官方的demo有不少小问题导致支付成功后,依然留在支付页面,而且很奇怪,getBrandWCPayRequest方法的回调根本就不进去。一直以为是自己的问题,后来在发现是demo的问题。找到了文档解决方法文章列出来了一下几点1 除了上面说到的引用以外登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名” “res.wx.qq.com”(这一项我没有测试是不是必须)2(必须)原创 2017-10-16 10:02:57 · 16752 阅读 · 1 评论 -
微信企业号开发:企业支付get_brand_wcpay_request:fail当前页面的URL未注册
支付授权目录有错误,设置的支付授权目录不正确,没有设置都会提示这个错误。需要注意的是子目录同样会提示这个错误。可以看到我配置的目录是子目录提示了错误,把子目录添加进去后就好了。原创 2017-10-13 11:25:16 · 1125 阅读 · 0 评论 -
微信企业号开发:企业支付openid的获取 appid and openid not match
openid是微信支付的一个必要参数,但官方的demo里针对的都是公众号,企业号的如何获取呢?基本的原理都是根据code获取到对应微信用户的openid,分成三步1调用的接口为https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE官方文档参考非企业用户直接返回openID,企业原创 2017-10-12 17:02:57 · 9798 阅读 · 0 评论 -
微信企业号开发:企业支付基础
最近一段时间开通了企业号支付,面对官方文档,不得不吐槽下,坑太大了。下载了官方的DEMO就是入坑的开始。原创 2017-10-12 16:59:29 · 2778 阅读 · 0 评论 -
微信企业号开发:微信考勤百度地图定位,错误修正二
在之前的博客中微信企业号开发:微信考勤百度地图定位,错误修正介绍了一种修正百度地图错误的方法,就是使用高德地图修正。但经过近一年,近两千的的使用发现,在百度地图出现定位错误时,通过HTML5获取的经纬度都是空,也就是获取不到经纬度,因此可以采用HTML5获取的经纬度来纠正百度地图的错误。如果HTML5获取的经纬度为空,百度地图获取的位置肯定是错误的。但这种情况在测试时,很少出现,但如果大量使用,出原创 2016-04-17 14:45:46 · 9103 阅读 · 4 评论 -
微信企业号开发:UserAgent
userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值,微信企业号的打开网页的userAgent又包含那些信息呢? 使用userAgent可以判断用户访问的浏览器信息,其实jQuery1.10之前的版本就是根据这个判断浏览器的。但这个在微信中又有哪些特点呢?几条手机的userAgentUserAgent=Mozilla/5.0 (iPhone; CPU i原创 2016-02-24 14:01:33 · 4384 阅读 · 0 评论 -
微信企业号开发:微信考勤百度地图定位,错误修正
在使用百度地图进行微信考勤时,遇到很多问题,尤其是定位问题,我知道定位有偏差,但使用百度地图,几十次后,偶尔一次会错的离谱,例如直接就定位到了外省,例如我一直在西安,一次定位到了天津,一次定位到了石家庄,我不知道为什么会这样。偏差几千米还能理解,可偏差几百公里就是在让人不能理解了。是因为我用的百度API是免费的吗?当然出现的次数不多,一般情况下,四五十次,会偶尔出现一两次这么离谱的偏差。实在找不到原创 2015-10-19 11:05:24 · 7428 阅读 · 1 评论 -
百度地图,高德地图,HTML5经纬度比较
对于一个地点的经纬度,是确定的?这个问题,我像很多人都会回答,肯定了,可实际上呢?我只能呵呵了。在使用百度地图的过程中,发现一个很奇怪的现象,有时候调用百度地图js API时,后得到一个错的离谱的地方。然后我自己也就研究了一下jsAPI获取地理位置的相关信息,jsAPI其实都是利用了HTML5中的方法获取地理信息的。但很奇怪,使用HTML5获取到的经纬度和百度获取的竟然相差很大。HTML5获取到的原创 2015-10-19 10:32:42 · 5191 阅读 · 0 评论 -
微信企业号开发:微信考勤百度地图定位二
使用微信考勤百度地图定位中的方法定位,可以定位到一个具体的位置某省某市某区某路某号,总是让人感觉显示不是很友好,如果直接显示,软件园,科技园之类的是不是更好呢?于是查了一下百度地图的相关文档,其实也很简单。百度有附近的功能,还有地址解析的功能,都可以实现。例如我就是用了Geocoder服务,实现了需要的效果。核心代码: var map = new BMap.Map("allmap"); v原创 2015-09-15 09:35:46 · 5233 阅读 · 1 评论 -
微信企业号开发:微信考勤百度地图定位
之前在微信企业号开发:微信考勤中使用了百度地图的定位组件,但发现在部分手机上会出现定位失败的提示,于是有研究了一下百度地图。原来使用的Web组件百度不打算更新了,也是重新查了一下百度地图的其他API,还有一个JavaScript API大众版,于是试了试,没想到竟然解决了。 核心代码很简单: // 百度地图API功能 var map = new BMap.Map("all原创 2015-09-11 10:44:08 · 6994 阅读 · 4 评论 -
微信企业号开发:微信考勤Cookies的使用
使用微信考勤,每次使用微信企业号开发:微信用户信息和web网页的session的关系这个里边的方法,调用微信的接口,有点慢,微信官方也推荐使用Cookies,但如何使用Cookies,自己却一直没有搞清楚。原来一直一位原创 2015-09-11 10:43:45 · 5222 阅读 · 0 评论 -
微信企业号开发:微信考勤摇一摇考勤
看到网上又不好微信企业号的摇一摇考勤,自己也想做一个,但查遍了微信企业号文档,也没有看到摇一摇的相关API,本以为做不出来了,想不到再问了同事后,才知道其实很简单,摇一摇不需要微信企业号的文档,HTML5就有,摇一摇其实就是相当于点击了保存按钮而已。其实获取地理位置HTML5也支持。HTML5 - 使用地理定位var x=document.getElementById("demo");func原创 2015-08-28 16:17:19 · 5030 阅读 · 1 评论 -
微信企业号开发:微信考勤2如何计算距离
通过微信企业号开发:微信考勤中的方法计算出了用户的地理位置,我们知道GPS会有一定偏差,但如何把这个偏差考虑进去呢?例如在500米的偏差内都认为是在办公室内呢?有两种方法,一种是使用根据两点经纬度计算距离的方法,一种是调用地图的API,1根据两点经纬度计算距离的方法核心代码: private const double EARTH_RADIUS = 6378.137*1000;//地球半径,单位为米原创 2015-08-27 11:22:24 · 4920 阅读 · 0 评论 -
微信企业号开发:微信考勤
使用微信考勤,有很多企业号应用都有,但如何实现呢? 核心有有两个,1其实就是获取用户位置,其实这个可以使用百度地图的API,当然其他的也可以,微信自己的地图实在是太差了,没有考虑。当然地理位置有偏差,如果需要进一步处理,我还没有找到合适的办法。当然了这些也只是表明曾经在某一个位置,并不表明一直都在,就好像打了卡,并不代表一直都在公司上班,也可能打卡后,就逛街去了。 2在获得了用户的位置信息后,原创 2015-08-25 09:22:38 · 7495 阅读 · 0 评论 -
微信企业号开发:微信用户信息和web网页的session的关系
微信企业号的用户是需要验证的,因此能关注企业号的用户其实就是已经通过验证的用户,但企业应用中打开一个网页,在这个网页中如何根据微信用户的信息创建web应用中最长使用的session呢?微信用户如何和web的session关联起来呢? 例如:一个应用,根据不同的人员,显示不同的内容,各个网页之间需要session来传递一些信息,在微信企业号中如何处理呢?这个问题需要涉及的接口是OAuth2验证接原创 2015-08-18 10:51:05 · 8847 阅读 · 0 评论 -
微信企业号开发:接收消息和事件
接收到的消息和事件,其实都是微信post到我们配置的URL的消息。接收普通消息就是用户给公众号发送的消息,事件是由于用户的特定操作,微信post给我们的消息。被动响应消息是我们收到微信post过来的普通消息或者是事件时,企业号通过Response.Write这种方式回复的消息。核心代码:把微信post过来的数据先解密,转为能处理的XML,再把XML转为对象 #region 将POST过来的数据转化原创 2015-08-04 13:50:58 · 10776 阅读 · 0 评论 -
微信企业号开发:主动发送消息
主企业号主动发送消息,也就是企业号主动推送的消息,适合于企业的通知,通告等。因此如果公司有通知,要求通知到所有员工,就应该使用主动发送消息。格式是json格式,而且微信很灵活,当touser,toparty,totag的json值是null时,微信服务器主动忽略了。原来还担心,如果是null,在生成json格式时如何忽略掉是null的字段。核心基本类:public class MsgBase原创 2015-07-24 09:05:13 · 12810 阅读 · 1 评论 -
微信企业号开发:消息类型与区别
微信企业号的消息,分成两种,调用微信接口发送的消息在接口文档中叫做发送消息,这种消息是json格式的。在微信服务器给我们配置的URL post数据时发送的消息叫做接收消息和事件,需要加密解密,不需要调用微信接口,这种消息的格式是XML格式的。两种消息的区别和联系:发送消息是json格式的,不需要加密解密,需要调用微信的接口,需要AccessToken,这种消息适用于公众号主动推送下发消息。接收消息原创 2015-07-22 14:50:24 · 3085 阅读 · 0 评论 -
微信企业号开发:自定义菜单
开发微信企业号可以通过程序自定义菜单,只需要调用相关的接口就可以实现。其实这个菜单也就是微信底部的菜单,目前自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单。一级菜单最多4个汉字,二级菜单最多7个汉字,多出来的部分将会以“...”代替。其实创建菜单也很简单。但有一点需要说明,如果有子菜单,那么这个菜单就不会向后端发送事件。例如:我定义了三个一级菜单一个click,两个view。如果原创 2015-07-21 10:49:10 · 11908 阅读 · 1 评论 -
微信企业号开发:获取AccessToken
微信企业号开发,需要调用微信企业号的相关接口,则必须使用AccessToken,但AccessToken需要corpid,corpsecret两个参数调用相关接口才能获取。而且每一个接口都有一定的次数限制,当然获取AccessToken的接口也有这个限制。每一个AccessToken的有效期为7200秒,也就是两个小时,在有效期内调用接口,则自动续期。因此建议在获取到AccessToken后,保存原创 2015-07-21 09:47:50 · 4959 阅读 · 0 评论 -
微信企业号开发:启用回调模式
微信企业号开发如何启用回调模式?就是简单的登陆PC版微信,点击应用中心,选择需要应用,再点击回调模式启用?似乎不是这么简单!!可以看到核心的只有三个URL,Token,EncodingAESKey这三个参数可以随便填写吗?1URL可以随便填写吗? 可以肯定的是,不能随便填写。不信你可以试试。因为点击确定后微信会给这个URL发送信息。因此这个URL必须是外网可以访问的地址。而且后台还必须处理微信发送原创 2015-07-17 08:41:07 · 4967 阅读 · 1 评论 -
微信企业号开发:常用的参数
开发微信企业号经常会遇到几个很常见的参数,这几个参数是什么含义?在什么地方呢?有什么作用?EncodingAESKey,Token,ACCESS_TOKEN,corpid,corpsecret,agentid,userid,部门ID?都表示什么含义呢?1EncodingAESKey是加密解密使用的,加密解密时要用三个参数EncodingAESKey,Token,CorpID。具体在PC版微信登陆后原创 2015-07-16 10:37:00 · 5856 阅读 · 0 评论 -
微信企业号开发:获取数据权限错误如何处理
开发微信企业号在调用获取成员时,总是提示没有权限的错误,自己知道是没有对应的权限,但如何分配权限呢?{"errcode":60011,"errmsg":"no privilege to access\/modify contact\/party\/agent "} 第一步登陆PC版企业号,点右侧击设置,再点击权限管理,再点击管理组,再点击通讯录权限的修改。第二步 弹出选择权限的对话框,选择权限后点原创 2015-07-16 09:00:00 · 4504 阅读 · 0 评论 -
微信企业号开发:corpsecret到底在哪块呢?
开发微信企业号,获取ACCESS_TOKEN是必须的,但如何获取ACCESS_TOKEN呢?获取ACCESS_TOKEN需要两个参数,corpidcorpid原创 2015-07-15 17:12:15 · 20508 阅读 · 1 评论