新普金娱乐网址


地理连载|末世降临●第三族 第005章节 :准备

RMB还失去哪了?从这三慢记账app中挑选一个召开而的贴心人助手吧

地理C#开发微信门户及以(17)-微信企业号的通讯录管理支出的部门管理

  • 九月 12, 2018
  • 地理
  • 没有评论

 前面一篇随笔企业号的组成部分基础信息,以及介绍如何布置企业号的回调方式贯彻同商号号服务器进行沟通的桥。本篇主要还是持续介绍公司号的开工作之进行,介绍微信企业号通讯录管理支出力量,介绍其中组织单位内如何赢得与治本机关的信相当情节。

地理 1

 1、企业团体的创立与布局

首先我们好于公司号的管理后台里面创建一个团部门,里面创建有机关与人口列表,方便我们出与以。

例如创建一个广州爱奇迪的到底结构,然后以里头当创建有伙部门,如下图所显示。

地理 2

接下来于集体结构根节点“广州爱奇迪”增加一个总指挥权限,以后更开接口里面为不怕可以利用是管理员所属之权限Secret值进行调用了。

地理 3

CorpID是合作社号的标识,每个局号有一个唯一的CorpID;Secret是管理组凭证密钥。
系统管理员可经过管理端的权力管理职能创建管理组,分配管理组对采用、通讯录、接口的访问权限。完成后,管理组即可获唯一的secret。系统管理员可经过权限管理查看所有管理组的secret,其他管理员可由此设置中之开发者凭据查看。

自身的店家号的创作者和“广州爱奇迪”组织布局的管理员是殊之,由于Secret是管理组凭证密钥,因此管理者负责不同之团部门管理的话,自己的军事管制Secret值可能就差了。如果我们用调用接口,就得因此到这个属于自己权力级别之Secret值,如下图所出示。

地理 4

 如果不是信用社号的创建人,那么可能不克改中的一些权力分配,只能查看。

地理 5

乘势现代型范围以及复杂都在逐渐增强,一个色特别易就得数百称色成员并跳不同的时区来进行付出。因此,控制项目的变量对于项目之功成名就至关重要,项目经理如果没责任心很可能会见招品种失败,会针对项目主任的职业生涯造成惨重的后果。

2、API访问的大局唯一票据AccessToken的收获

及民众号一致,我们调用企业号API的首先步也是急需先得到访问的票AccessToken。这个票是全局性的,有必然之时效及效率控制,因此用适宜的展开缓存,不能够每次调用都失去刷新获取。

柜号落访问票据的基本点的逻辑代码如下所示,其重大的就算是用运用主管的Secret值去赢得相应之口令,这样它们便会解管理之是老组织结构的了。

        /// <summary>
        /// 获取每次操作微信API的Token访问令牌
        /// </summary>
        /// <param name="corpid">企业Id</param>
        /// <param name="corpsecret">管理组的凭证密钥</param>
        /// <returns></returns>
        public string GetAccessTokenNoCache(string corpid, string corpsecret)
        {
            var url = string.Format("https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={0}&corpsecret={1}",
                                    corpid, corpsecret);

            HttpHelper helper = new HttpHelper();
            string result = helper.GetHtml(url);
            string regex = "\"access_token\":\"(?<token>.*?)\"";

            string token = CRegex.GetText(result, regex, "token");
            return token;
        }

微信企业号的证明如下所示:

当企业应用调用企业号接口时,企业号后台为因此次访的AccessToken,校验访问的合法性和所对应之管理组的管理权限以回到相应的结果。

*注:您当兢兢业业配置管理组的权位,够用就好,权限过大会增加误操作可能性及信息安全隐患。*

AccessToken是商家号的全局唯一票据,调用接口时用携带AccessToken。AccessToken需要用CorpID和Secret来换取,不同的Secret会回到不同之AccessToken。例行情形下AccessToken有效期为7200秒,有效期内再次获取返回相同结果,并自动续期。由于获得access_token的api调用次数非常简单,建议企业全局存储和更新access_token,频繁刷新access_token会导致api调用受限,影响自己业务

 

项目经理需要学会不断的降落项目成本来满足项目中利益相关者日益增长的抽预算的希望,项目经理需要克服政治骚乱和地理障碍等不利因素培养新员工,所以,对于了解下就几个成功之重中之重点会帮助项目经理实现再次高速之项目管理过程。

2、通讯录管理之部门消息的掩护

出了第一省中的顾票据,我们即便得使用API来开过多作业了,包括集团结构的获取、创建、删除等等功能。

缔造单位的法定接口定义如下所示。

  • 请说明

Https请求方式: POST

https://qyapi.weixin.qq.com/cgi-bin/department/create?access_token=ACCESS_TOKEN

请求保管结构体为:

{
   "name": "邮箱产品组",
   "parentid": "1"
}
  • 参数说明
参数 必须 说明
access_token 调用接口凭证
name 部门名称。长度限制为1~64个字符
parentid 父亲部门id。根部门id为1

 

  • 归来结果

{
   "errcode": 0,
   "errmsg": "created",
   "id": 2
}

根据上面的部分好像之接口定义说明,我们事先来定义下组织部门部门数据的保护接口,然后以逐步落实与调用。

        #region 部门管理
        /// <summary>
        /// 创建部门。
        /// 管理员须拥有“操作通讯录”的接口权限,以及父部门的管理权限。
        /// </summary>
        CorpDeptCreateJson CreateDept(string accessToken, string name, string parentId);

        /// <summary>
        /// 更新部门。
        /// 管理员须拥有“操作通讯录”的接口权限,以及该部门的管理权限。
        /// </summary>
        CommonResult DeleteDept(string accessToken, int id);

        /// <summary>
        /// 删除部门.
        /// 管理员须拥有“操作通讯录”的接口权限,以及该部门的管理权限。
        /// </summary>
        CorpDeptListJson ListDept(string accessToken);

        /// <summary>
        /// 获取部门列表.
        /// 管理员须拥有’获取部门列表’的接口权限,以及对部门的查看权限。
        /// </summary>
        CommonResult UpdateDept(string accessToken, int id, string name); 
        #endregion

若创建机关的接口实现如下所示,主要就是是构建URL和POST的数据包,然后统一调用并取返回数据,转换为现实的Json对象实体即可。其他接口的落实方式接近,不在赘述。

        /// <summary>
        /// 创建部门。
        /// 管理员须拥有“操作通讯录”的接口权限,以及父部门的管理权限。
        /// </summary>
        public CorpDeptCreateJson CreateDept(string accessToken, string name, string parentId)
        {
            string urlFormat = "https://qyapi.weixin.qq.com/cgi-bin/department/create?access_token={0}";
            var data = new
            {
                name = name,
                parentId = parentId
            };
            var url = string.Format(urlFormat, accessToken);
            var postData = data.ToJson();

            CorpDeptCreateJson result = CorpJsonHelper<CorpDeptCreateJson>.ConvertJson(url, postData);
            return result;
        }

CorpDeptCreateJson
对象实体类的定义如下所示,我们要是因返回结果进行定义之。

    /// <summary>
    /// 创建部门的返回结果
    /// </summary>
    public class CorpDeptCreateJson : BaseJsonResult
    {
        /// <summary>
        /// 返回的错误消息
        /// </summary>
        public CorpReturnCode errcode { get; set; }

        /// <summary>
        /// 对返回码的文本描述内容
        /// </summary>
        public string errmsg { get; set; }

        /// <summary>
        /// 创建的部门id。
        /// </summary>
        public int id { get; set; }
    }

 

地理 6

 3、部门管理的API调用

 上面小节介绍了怎么封装部门管理的API,那么我们封装好了相应的接口和接口实现,怎么样当实际条件里进行调用处理的呢,为了便于自己创建一个稍稍之Winform程序来测试对应API的成效,如下所示。

地理 7

脚我们来介绍一下调用的代码和效益亮。

        private void btnCreateDeleteDept_Click(object sender, EventArgs e)
        {
            ICorpAddressBookApi bll = new CorpAddressBookApi();
            string name = "测试部门";
            CorpDeptCreateJson json = bll.CreateDept(token, name, "2");
            if (json != null)
            {
                Console.WriteLine("创建了部门:{0}, ID:{1}", name, json.id);

                //更新部门信息
                name = "测试部门修改名称";
                CommonResult result = bll.UpdateDept(token, json.id, name);
                if(result != null)
                {
                    Console.WriteLine("修改部门名称:{0} {1}", (result.Success ? "成功" : "失败"), result.ErrorMessage);
                }

                //删除部门
                result = bll.DeleteDept(token, json.id);
                if (result != null)
                {
                    Console.WriteLine("删除部门名称:{0} {1}", (result.Success ? "成功" : "失败"), result.ErrorMessage);
                }
            }

        }

        /// <summary>
        /// 获取部门列表
        /// </summary>
        private void btnListDept_Click(object sender, EventArgs e)
        {
            ICorpAddressBookApi bll = new CorpAddressBookApi();
            CorpDeptListJson list = bll.ListDept(token);
            foreach (CorpDeptJson info in list.department)
            {
                string tips = string.Format("{0}:{1}", info.name, info.id);
                Console.WriteLine(tips);
            }
        }

地理 8

 

 

使对这个《C#支出微信门户及应用》系列感兴趣,可以关注我之任何文章,系列随笔如下所示:

C#开微信门户及动(25)-微信企业号的客户端管住职能

C#开发微信门户及使用(24)-微信小店货架信息保管

C#开微信门户及运用(23)-微信小店商品管理接口的卷入和测试

C#开发微信门户及动(22)-微信小店的出及使用

C#支付微信门户及使用(21)-微信企业号的消息以及事件的吸纳处理与解密 

C#出微信门户及以(20)-微信企业号的菜单管理

C#付出微信门户及采取(19)-微信企业号的信息发送(文本、图片、文件、语音、视频、图文信息等)

C#支出微信门户及用(18)-微信企业号的通讯录管理支付之成员管理

C#开微信门户及采取(17)-微信企业号的通讯录管理支出之部门管理

C#开发微信门户及运用(16)-微信企业号的布置以及下

C#支付微信门户及下(15)-微信菜单增加扫一扫、发图片、发地理位置功能

 C#开微信门户及利用(14)-在微信菜单中行使重定向获得用户数量

C#付出微信门户及动(13)-使用地理位置扩展相关以

C#开微信门户及使用(12)-使用语音处理

C#付出微信门户及利用(11)–微信菜单的强呈现方法介绍

C#开微信门户及动(10)–在管制网受同微信用户分组信息

C#开发微信门户及使用(9)-微信门户菜单管理和交至微信服务器

C#支付微信门户及运用(8)-微信门户应用管理网机能介绍

C#开发微信门户及动(7)-微信多客服功能与支出并

C#开微信门户及使用(6)–微信门户菜单的军事管制操作

C#付出微信门户及运用(5)–用户分组信息保管

C#开微信门户及以(4)–关注用户列表及详细信息管理

C#支出微信门户及采取(3)–文本音和图文信息之作答

C#出微信门户及利用(2)–微信信的拍卖和答复

C#支出微信门户及以(1)–开始采用微信接口

 

路的透明度有助于维护项目受到的公共关系并保持同类型被各利益相关者的维系。保障项目之透明度是种类领导的基本素质之一,透过品种透明度来来管项目严格恪守项目之指标标准并退资金,随着多门类相的存在和项目群的做事办法,这种透明度显得越来越重要。

花色遭到的一部分职责或活动前期可能会见出局部误或疏忽造成资金的长,但一旦无加以小心要尚未受披露出,当就项目进行还是业务变得更其复杂时,这些本就以管理之品类总数时,最终形成大气底纯收入损失和多额外的支出。

项目经理必须辅所有的次第利益相关者了解他们的作为如何影响及路的状态,由此多项目信息之透明度来改善项目管理遭的问责制,降低项目风险,并会产生管用地推动合作。

地理 9

列评估过程的频率及实用仍然是路中标之一个方面,想想这类别什么自当前之新技巧被获益,通过形成这路怎么能获取商业上之显性利益以及黑利益,经过项目中的合作与职责之执行,以及有效的维系,能够锻炼以及打一支高水准的花色交由团队。项目之评估应该在准备阶段将成功,而无是当及花色交由的历程中才去进行评估,这会毁项目的打响。

自项目之经过评估为是必要的,通过将品种之整体目标进行作说明,并私分成例外的品,对每个阶段展开评估,看是不是达标了当时制定的要求,若评估不克经过,就用展开判断是展开矫正还是将项目进行停止,避免损失的累壮大。对于项目的评估可以经第三正开展,也足以以互联网新技巧搭建IT系统来完成,没有好的评估,就无法知晓是不是发生好的结果。

设若您想当餐厅得到相同卖色香味俱优的胜格调食品,那么厨房里之每个人还待懂得食品之平安与成功最终成品的流水线。对于项目也是如出一辙的,类型中的各种求或者截然不同,项目面临的保有成员都待了解每个人的异职责并理解哪些不影响项目的成。

种类之设计团队要了解如何拿估算转化为预算,项目文档人员须要询问任何各个成员时底职责是什么和哪些得到成员的喻,项目的培训资源就是项目成员自身,通过互的汇总培训,可以假设组织成员感到团队完全的责任感,也会见引诱团队成员尤其开心而发生快规范的拓展工作。

地理 10

种管理过程遭到,总是要提到到各种IT系统,电子邮件系统,项目管理软件平台,流程评估体系,会议通信系统等等,这些IT系统平台可以大大帮助项目经理完成项目管理的频率提升以及价值显现。项目经理需要保证这些系统必须使出IT支持化解方案来展开保全,一旦出现由于系统中断事件,IT能够当遵照适用安全性以及法律的前提下,进行高效响应。

IT支持解决方案不仅当系出现问题时可用,IT支持人口还足以助项目负责人进行系统平台迁移,可以拉项目成员处理个人的IT问题。比如系统受或者会见起无数软件自动更新,但依旧会有错误,系统面临那些信息包含关键之平安信息如何进行拍卖,这些都得以经过IT支持组织指导项目成员来保安系统,减少系统停机时间,降低风险。

地理 11

以品种的尽进程被,项目成员的额分心是不可逆转的,即使是最好好的职工为照例会发错误或花费太多的时空错开处理千头万绪的题材,同时就移动任务以及支出之频频上涨,项目的预算也着胁迫。类型地理蒙之时光与用的分红是一个十分复杂的法,但是必须要失去开。列成员要使用管理职责所花的时空以及本钱展开分析比,来评估这些任务,来拘禁尽项目的管理效率和生产率水平。

转换句话说,如果时光及开支分配超支会导致生产价值暴跌,但一旦分配的最为少又会招致品种不过提交成果质量差或无确切。项目经理需要救助成员确定一个确切的比重,帮助他们保持团结的责任感以及预期的工夫要求,这样好落项目之共同体资金。

地理 12

  • 加强单个项目的透明度水平可减低本钱。但是,提高所有品种之透明度大大降低了高风险,甚至压缩项目超出预算的可能;

  • 老式的流水线导致现代型管理面临之体系效率低下和延缓;

  • 归纳培训促进使项目组织达更胜标准,并落实跨学科的领悟;

  • IT支持解决方案得以解除对停机时间或者安全补丁的焦虑,帮助项目保在正规的则上运行;

  • 科学分配时和费用可以加强咨询责制并退整体资产;

相关文章

No Comments, Be The First!
近期评论
    分类目录
    功能
    网站地图xml地图