


C#-Entwicklung des WeChat-Portals und Anwendung der WeChat-Unternehmenskonto-Adressbuchverwaltungsentwicklung und Mitgliederverwaltung
Mar 02, 2017 am 09:41 AM1. Mitgliedererstellungsvorgang
Der Einfachheit halber k?nnen wir eine Abteilungsorganisationsstruktur erstellen, die eine Voraussetzung für die Entwicklung ist, da unsere Adressbuchverwaltung ebenfalls auf einer Organisationsstruktur basiert, wie oben Die in diesem Artikel vorgestellte Ebene der Organisationsstruktur ist dieselbe. Hier erstelle ich eine Stammstruktur von Guangzhou Aiqidi und erstelle dann darin einige Organisationsstrukturen, wie in der folgenden Abbildung dargestellt.
Sie k?nnen Personen über funktionale Vorg?nge im Hintergrund hinzufügen. In diesem Artikel wird haupts?chlich beschrieben, wie die WeChat Enterprise Account API für Personalverwaltungsvorg?nge aufgerufen wird.
Die API-Definition des Erstellers lautet wie folgt.
Anweisungen anfordern
Https-Anfragemethode: POST
https://qyapi.weixin.qq. com/cgi-bin/user/create?access_token=ACCESS_TOKEN
Die Anforderungspaketstruktur ist:
{ ???"userid":?"zhangsan", ???"name":?"張三", ???"department":?[1,?2], ???"position":?"產(chǎn)品經(jīng)理", ???"mobile":?"15913215421", ???"gender":?1, ???"tel":?"62394", ???"email":?"zhangsan@gzdev.com", ???"weixinid":?"zhangsan4dev" }
Parameterbeschreibung
參數(shù) | 必須 | 說明 |
---|---|---|
access_token | 是 | 調(diào)用接口憑證 |
userid | 是 | 員工UserID。對(duì)應(yīng)管理端的帳號(hào),企業(yè)內(nèi)必須唯一。長度為1~64個(gè)字符 |
name | 是 | 成員名稱。長度為1~64個(gè)字符 |
department | 否 | 成員所屬部門id列表。注意,每個(gè)部門的直屬員工上限為1000個(gè) |
position | 否 | 職位信息。長度為0~64個(gè)字符 |
mobile | 否 | 手機(jī)號(hào)碼。企業(yè)內(nèi)必須唯一,mobile/weixinid/email三者不能同時(shí)為空 |
gender | 否 | 性別。gender=0表示男,=1表示女。默認(rèn)gender=0 |
tel | 否 | 辦公電話。長度為0~64個(gè)字符 |
否 | 郵箱。長度為0~64個(gè)字符。企業(yè)內(nèi)必須唯一 | |
weixinid | 否 | 微信號(hào)。企業(yè)內(nèi)必須唯一 |
Berechtigungsbeschreibung
Der Administrator muss über die Schnittstellenberechtigung ?Adressbuch bedienen“ und die Verwaltungsberechtigung der angegebenen Abteilung verfügen.
Ergebnis zurückgeben
{ ???"errcode":?0, ???"errmsg":?"created" }
In C# müssen wir die entsprechende Schnittstelle definieren und dann die entsprechenden übertragungsentit?tsinformationen nach Bedarf erstellen .
Hier habe ich alle Schnittstellen für die Personalverwaltung definiert. Die Schnittstellendefinitionen sind wie folgt.
????????#region?部門成員管理????????///?<summary> ????????///?創(chuàng)建成員????????///?</summary> ????????CommonResult?CreateUser(string?accessToken,?CorpUserJson?user);????????///?<summary> ????????///?更新成員????????///?</summary> ????????CommonResult?UpdateUser(string?accessToken,?CorpUserUpdateJson?user);????????///?<summary> ????????///?刪除成員????????///?</summary> ????????CommonResult?DeleteUser(string?accessToken,?string?userid);????????///?<summary> ????????///?根據(jù)成員id獲取成員信息????????///?</summary> ????????CorpUserGetJson?GetUser(string?accessToken,?string?userid);????????///?<summary> ????????///?獲取部門成員????????///?</summary> ????????CorpUserListJson?GetDeptUser(string?accessToken,?int?department_id,?int?fetch_child?=?0,?int?status?=?0);????????#endregion
Erstellen Sie dann ein CorpUserJson-Entit?tsobjekt, das Personalinformationen basierend auf der Informationsdefinition enth?lt. Der Implementierungsoperationscode zum Erstellen von Personal lautet wie folgt.
????????///?<summary> ????????///?創(chuàng)建成員????????///?</summary> ????????public?CommonResult?CreateUser(string?accessToken,?CorpUserJson?user) ????????{????????????string?urlFormat?=?"http://www.miracleart.cn/{0}";????????????var?data?=?new ????????????{ ????????????????userid?=?user.userid, ????????????????name?=?user.name, ????????????????department?=?user.department, ????????????????position?=?user.position, ????????????????mobile?=?user.mobile, ????????????????gender?=?user.gender, ????????????????tel?=?user.tel, ????????????????email?=?user.email, ????????????????weixinid?=?user.weixinid ????????????};????????????var?url?=?string.Format(urlFormat,?accessToken);????????????var?postData?=?data.ToJson();????????????return?Helper.GetCorpExecuteResult(url,?postData); ????????}
2. Aktualisierungsvorgang für Mitglieder
Aktualisierungsvorgang für Mitglieder Der Datenaktualisierungsvorgang ?hnelt dem Erstellungsvorgang und seine Unternehmensnummer ist wie folgt definiert.
Anweisungen anfordern
Https-Anfragemethode: POST
https://qyapi.weixin.qq. com/cgi-bin/user/update?access_token=ACCESS_TOKEN
Das Beispiel für ein Anforderungspaket lautet wie folgt (wenn ein nicht erforderliches Feld nicht angegeben wird, wird der vorherige Einstellungswert des Felds nicht aktualisiert):
{ ???"userid":?"zhangsan", ???"name":?"李四", ???"department":?[1], ???"position":?"后臺(tái)工程師", ???"mobile":?"15913215421", ???"gender":?1, ???"tel":?"62394", ???"email":?"zhangsan@gzdev.com", ???"weixinid":?"lisifordev", ???"enable":?1 }
Da seine Betriebsdaten ?hnlich sind, ist auch sein Implementierungscode ?hnlich, wie unten gezeigt.
????????///?<summary> ????????///?更新成員????????///?</summary> ????????public?CommonResult?UpdateUser(string?accessToken,?CorpUserUpdateJson?user) ????????{????????????string?urlFormat?=?"http://www.miracleart.cn/{0}";????????????//string?postData?=?user.ToJson(); ????????????var?data?=?new ????????????{ ????????????????userid?=?user.userid, ????????????????name?=?user.name, ????????????????department?=?user.department, ????????????????position?=?user.position, ????????????????mobile?=?user.mobile, ????????????????gender?=?user.gender, ????????????????tel?=?user.tel, ????????????????email?=?user.email, ????????????????weixinid?=?user.weixinid, ????????????????enable?=?user.enable ????????????};????????????var?url?=?string.Format(urlFormat,?accessToken);????????????var?postData?=?data.ToJson();????????????return?Helper.GetCorpExecuteResult(url,?postData); ????????}
3. L?schung von Mitgliedern, Erwerb von Mitgliedern, Erfassungsvorg?nge von Abteilungsmitgliedern
Diese Vorg?nge ?hneln den oben genannten und werden nicht im Detail beschrieben. Die Hauptsache besteht darin, die entsprechenden Rückgabedateninformationen nach Bedarf zu definieren , und analysieren Sie dann die Json-Daten.
1) Die Definition der L?schperson lautet wie folgt:
Anleitung anfordern
Https-Anfragemethode: GET
https://qyapi.weixin.qq.com/cgi-bin/user/delete?access_token=ACCESS_TOKEN&userid=lisi
Parameterbeschreibung
參數(shù) | 必須 | 說明 |
---|---|---|
access_token | 是 | 調(diào)用接口憑證 |
userid | 是 | 員工UserID。對(duì)應(yīng)管理端的帳號(hào) |
返回結(jié)果
{ ???"errcode":?0, ???"errmsg":?"deleted" }
2)成員的獲取定義如下:
請(qǐng)求說明
Https請(qǐng)求方式: GET
https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&userid=lisi
參數(shù)說明
參數(shù) | 必須 | 說明 |
---|---|---|
access_token | 是 | 調(diào)用接口憑證 |
userid | 是 | 員工UserID |
返回結(jié)果
{ ???"errcode":?0, ???"errmsg":?"ok", ???"userid":?"zhangsan", ???"name":?"李四", ???"department":?[1,?2], ???"position":?"后臺(tái)工程師", ???"mobile":?"15913215421", ???"gender":?1, ???"tel":?"62394", ???"email":?"zhangsan@gzdev.com", ???"weixinid":?"lisifordev",?? ???"avatar":?"http://wx.qlogo.cn/mmopen/ajNVdqHZLLA3WJ6DSZUfiakYe37PKnQhBIeOQBO4czqrnZDS79FH5Wm5m4X69TBicnHFlhiafvDwklOpZeXYQQ2icg/0", ???"status":?1 }
3)部門成員的獲取定義如下:
請(qǐng)求說明
Https請(qǐng)求方式: GET
https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?access_token=ACCESS_TOKEN&department_id=1&fetch_child=0&status=0
參數(shù)說明
參數(shù) | 必須 | 說明 |
---|---|---|
access_token | 是 | 調(diào)用接口憑證 |
department_id | 是 | 獲取的部門id |
fetch_child | 否 | 1/0:是否遞歸獲取子部門下面的成員 |
status | 否 | 0獲取全部員工,1獲取已關(guān)注成員列表,2獲取禁用成員列表,4獲取未關(guān)注成員列表。status可疊加 |
權(quán)限說明
管理員須擁有’獲取部門成員’的接口權(quán)限,以及指定部門的查看權(quán)限。
返回結(jié)果
{ ???"errcode":?0, ???"errmsg":?"ok", ???"userlist":?[ ???????????{ ??????????????????"userid":?"zhangsan", ??????????????????"name":?"李四" ???????????} ?????] }
這個(gè)返回值我們定義一個(gè)實(shí)體對(duì)象用來存儲(chǔ)數(shù)據(jù)即可。
????///?<summary> ????///?獲取部門成員返回的數(shù)據(jù)????///?</summary> ????public?class?CorpUserListJson?:?BaseJsonResult ????{????????public?CorpUserListJson() ????????{????????????this.userlist?=?new?List<corpusersimplejson>(); ????????}????????///?<summary> ????????///?返回的錯(cuò)誤消息????????///?</summary> ????????public?CorpReturnCode?errcode?{?get;?set;?}????????///?<summary> ????????///?對(duì)返回碼的文本描述內(nèi)容????????///?</summary> ????????public?string?errmsg?{?get;?set;?}????????///?<summary> ????????///?成員列表????????///?</summary> ????????public?List<corpusersimplejson>?userlist?{?get;?set;?} ????}</corpusersimplejson></corpusersimplejson>
?
7、綜合例子調(diào)用代碼
上面介紹了一些企業(yè)號(hào)的接口定義和我對(duì)API的C#封裝接口和部分實(shí)現(xiàn)代碼,實(shí)現(xiàn)了功能后,我們就可以在代碼中對(duì)它進(jìn)行測(cè)試,確信是否正常使用。
????????///?<summary> ????????///?人員管理綜合性操作(創(chuàng)建、修改、獲取信息、刪除)????????///?</summary> ????????///?<param> ????????///?<param> ????????private?void?btnCorpUser_Click(object?sender,?EventArgs?e) ????????{ ????????????CorpUserJson?user?=?new?CorpUserJson(); ????????????user.userid?=?"test"; ????????????user.name?="測(cè)試用戶"; ????????????user.department?=?new?List<int>(){2}; ????????????user.email?=?"test@163.com"; ????????????ICorpAddressBookApi?bll?=?new?CorpAddressBookApi(); ????????????CommonResult?result?=?bll.CreateUser(token,?user);????????????if?(result?!=?null) ????????????{ ????????????????Console.WriteLine("創(chuàng)建成員:{0}?{1}?{2}",?user.name,?(result.Success???"成功"?:?"失敗"),?result.ErrorMessage);????????????????string?name?=?"修改測(cè)試"; ????????????????user.name?=?name; ????????????????CorpUserUpdateJson?userUpdate?=?new?CorpUserUpdateJson(user); ????????????????result?=?bll.UpdateUser(token,?userUpdate);????????????????if?(result?!=?null) ????????????????{ ????????????????????Console.WriteLine("修改名稱:{0}?{1}?{2}",?name,?(result.Success???"成功"?:?"失敗"),?result.ErrorMessage); ????????????????} ????????????????CorpUserGetJson?userGet?=?bll.GetUser(token,?user.userid);????????????????if?(userGet?!=?null) ????????????????{ ????????????????????Console.WriteLine("成員名稱:{0}?({1}?{2})",?userGet.name,?user.userid,?user.email); ????????????????} ????????????????result?=?bll.DeleteUser(token,?user.userid);????????????????if?(result?!=?null) ????????????????{ ????????????????????Console.WriteLine("刪除成員:{0}?{1}?{2}",?name,?(result.Success???"成功"?:?"失敗"),?result.ErrorMessage); ????????????????} ????????????} ????????}</int>
獲取部門人員的操作代碼如下所示。
????????///?<summary> ????????///?獲取部門人員????????///?</summary> ????????private?void?btnCorpUserList_Click(object?sender,?EventArgs?e) ????????{????????????int?deptId?=?1; ????????????ICorpAddressBookApi?bll?=?new?CorpAddressBookApi(); ????????????CorpUserListJson?result?=?bll.GetDeptUser(token,?deptId);????????????if?(result?!=?null) ????????????{????????????????foreach(CorpUserSimpleJson?item?in?result.userlist) ????????????????{ ????????????????????Console.WriteLine("成員名稱:{0}?{1}",?item.name,?item.userid); ????????????????} ????????????} ????????}
?
人員的管理,相對(duì)來說比較簡單,主要是在一定的部門下創(chuàng)建人員,然后也可以給標(biāo)簽增加相應(yīng)的人員,基本上就是這些了,不過一定需要確保有相應(yīng)的權(quán)限進(jìn)行操作。
更多C#-Entwicklung des WeChat-Portals und Anwendung der WeChat-Unternehmenskonto-Adressbuchverwaltungsentwicklung und Mitgliederverwaltung相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)