1. 程式人生 > >C# 微信企業號--通訊錄更新

C# 微信企業號--通訊錄更新

 對於通訊錄更新大家需要先看下微信企業號的介面文件:http://qydev.weixin.qq.com/wiki/index.php?title=%E5%BC%82%E6%AD%A5%E4%BB%BB%E5%8A%A1%E6%8E%A5%E5%8F%A3

其中:

通訊錄更新

通訊錄更新介面提供三種更新方法:1) 增量更新成員 2)全量覆蓋成員 3) 全量覆蓋部門。如果企業要做到與企業號通訊錄完全一致,可先呼叫全量覆蓋部門介面,再呼叫全量覆蓋成員介面,即可保持通訊錄完全一致。

使用步驟為:

1.下載介面對應的csv模板,如果有擴充套件欄位,請自行新增

2.按模板的格式,生成介面所需的資料檔案

3.通過上傳媒體檔案介面上傳資料檔案,獲取media_id

4.呼叫通訊錄更新介面,傳入media_id引數

5.接收任務完成事件,並獲取任務執行結果

全量覆蓋部門

  • 介面說明

本介面以partyid為鍵,全量覆蓋企業號通訊錄組織架構,任務完成後企業號通訊錄組織架構與提交的檔案完全保持一致。請先下載CSV檔案(下載全量覆蓋部門模版),根據需求填寫檔案內容。
注意事項:
1.檔案中存在、通訊錄中也存在的部門,執行修改操作
2.檔案中存在、通訊錄中不存在的部門,執行新增操作
3.檔案中不存在、通訊錄中存在的部門,當部門下沒有任何成員或子部門時,執行刪除操作
4.CSV檔案中,部門名稱、部門ID、父部門ID為必填欄位,部門ID必須為數字;排序為可選欄位,置空或填0不修改排序

  • 請求說明

Https請求方式: POST

請求包結構體為:

{
	"media_id":"xxxxxx",
	"callback":
	{
	 	"url": "xxx",
	 	"token": "xxx",
	 	"encodingaeskey": "xxx"
	}
}
  • 引數說明
引數 是否必須 描述
media_id 上傳的csv檔案的media_id
callback 回撥資訊。如填寫該項則任務完成後,通過callback推送事件給企業。具體請參考應用回撥模式中的相應選項
url 企業應用接收企業號推送請求的訪問協議和地址,支援http或https協議
token 用於生成簽名
encodingaeskey 用於訊息體的加密,是AES金鑰的Base64編碼
  • 許可權說明

管理組須擁有根部門的管理許可權。

  • 返回結果
{
	"errcode": 0,
	"errmsg": "ok",
	"jobid": "xxxxx"
}
引數 說明
errcode 返回碼
errmsg 對返回碼的文字描述內容
jobid 非同步任務id,最大長度為64位元組

全量覆蓋成員

  • 介面說明

本介面以userid為主鍵,全量覆蓋企業號通訊錄成員,任務完成後企業號通訊錄成員與提交的檔案完全保持一致。請先下載CSV檔案(下載全量覆蓋成員模版),根據需求填寫檔案內容。
注意事項:
1.模板中的部門需填寫部門ID,多個部門用分號分隔,部門ID必須為數字
2.檔案中存在、通訊錄中也存在的成員,完全以檔案為準
3.檔案中存在、通訊錄中不存在的成員,執行新增操作
4.通訊錄中存在、檔案中不存在的成員,執行刪除操作。出於安全考慮,如果:
a) 需要刪除的成員多於50人,且多於現有人數的20%以上
b) 需要刪除的成員少於50人,且多於現有人數的80%以上
系統將中止匯入並返回相應的錯誤碼
5.成員欄位更新規則:檔案中有指定的欄位,以指定的欄位值為準;檔案中沒指定的欄位,不更新

  • 請求說明

Https請求方式: POST

請求包結構體為:

{
	"media_id":"xxxxxx",
	"callback":
	{
	 	"url": "xxx",
	 	"token": "xxx",
	 	"encodingaeskey": "xxx"
	}
}
  • 引數說明
引數 是否必須 描述
media_id 上傳的csv檔案的media_id
callback 回撥資訊。如填寫該項則任務完成後,通過callback推送事件給企業。具體請參考應用回撥模式中的相應選項
url 企業應用接收企業號推送請求的訪問協議和地址,支援http或https協議
token 用於生成簽名
encodingaeskey 用於訊息體的加密,是AES金鑰的Base64編碼
  • 許可權說明

管理組須擁有根部門的管理許可權。

  • 返回結果
{
	"errcode": 0,
	"errmsg": "ok",
	"jobid": "xxxxx"
}
引數 說明
errcode 返回碼
errmsg 對返回碼的文字描述內容
jobid 非同步任務id,最大長度為64位元組
認真看了以上文件後,你會發現,要實現通訊錄的更新,首先要實現回撥功能,對於回撥的實現 ,請參考:http://blog.csdn.net/wxbluethink/article/details/49420121

  然後,按照微信企業號的步驟來實現:

1.下載介面對應的csv模板,如果有擴充套件欄位,請自行新增

2.按模板的格式,生成介面所需的資料檔案

3.通過上傳媒體檔案介面上傳資料檔案,獲取media_id

4.呼叫通訊錄更新介面,傳入media_id引數

5.接收任務完成事件,並獲取任務執行結果

見上圖紅線部分,若是返回

{
	"errcode": 0,
	"errmsg": "ok",
	"jobid": "xxxxx"
}
則表示成功了。