通過API接口管理企業微信通訊錄案例

1.開始前需要登錄企業微信管理員后臺,開啟通訊錄同步,同時添加企業可信IP地址,記錄下Secret信息和企業ID,后面的程序會用到這兩個參數。

圖片

2.下面是用python寫的創建企業微信賬號的具體案例。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
企業微信通訊錄 API:創建成員(單個賬號)示例
官方文檔:https://developer.work.weixin.qq.com/document/path/90195
"""
import os
import sys
import json
import time
import requests
from typing import Dict, Any
# ========= 1. 配置區 =========
# ?? 請替換成自己企業的真實信息
CORP_ID = "wwassssssssssssssss"               # 企業ID
CONTACT_SYNC_SECRET = "Y4ffffffff_UDf_fffffffffffzWY4"  # “通訊錄同步”專用 Secret
# 要創建的成員信息(字段含義見官方文檔)
NEW_USER = {"userid": "I00555",          # 賬號:必須唯一,建議用小寫英文/數字 "name": "張三","alias": "San Zhang",          # 可選"mobile": "+86 13800001234",   # mobile 與 email 二者必填其一"department": [1],             # 所在部門ID,根部門為1"position": "產品經理","gender": "1",                 # 1男 2女 0未知"email": "zhangsan@example.com"
}
# ========= 2. 工具函數 =========
def get_access_token(corp_id: str, secret: str) -> str:"""獲取 access_token(有效期 7200s,建議本地緩存)"""url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken"params = {"corpid": corp_id, "corpsecret": secret}resp = requests.get(url, params=params, timeout=10)data = resp.json()if data.get("errcode") != 0:raise RuntimeError(f"獲取token失敗 → {data}")return data["access_token"]
def create_user(token: str, user: Dict[str, Any]) -> Dict[str, Any]:"""創建成員"""url = f"https://qyapi.weixin.qq.com/cgi-bin/user/create?access_token={token}"resp = requests.post(url, json=user, timeout=10)return resp.json()
# ========= 3. 主流程 =========
def main():try:print("[Step 1] 獲取 access_token ...")token = get_access_token(CORP_ID, CONTACT_SYNC_SECRET)print("? token 獲取成功,前10位:", token[:10])print("[Step 2] 創建成員 ...")ret = create_user(token, NEW_USER)if ret.get("errcode") == 0:print("? 創建成功,userid =", NEW_USER["userid"])else:print("? 創建失敗,返回:", ret)# 常見錯誤碼快速提示if ret.get("errcode") == 60121:print("提示:部門ID不存在,請檢查 department 字段")elif ret.get("errcode") == 60102:print("提示:手機號已被其他成員占用")elif ret.get("errcode") == 48009:print("提示:無權限,請確認使用了「通訊錄同步」專用 Secret,且 IP 已在白名單")sys.exit(1)except Exception as e:print("發生異常:", e)sys.exit(1)
# ========= 4. 運行 =========
if __name__ == "__main__":main()

3.下面是用python寫的刪除企業微信賬號的具體案例。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
企業微信 API 刪除成員(單個賬號)
官方文檔:https://developer.work.weixin.qq.com/document/path/90198
"""
import os
import sys
import json
import requests
from typing import Dict
# ========== 1. 配置區(請替換成你的真實信息) ==========
CORP_ID = "wwffffffffffffff03"                       # 企業 ID
CONTACT_SYNC_SECRET = "Y4dddddddddddddddddddddsssssY4"   # “通訊錄同步”專用 Secret
USER_ID_TO_DELETE = "I00555"                       # 要刪除的成員 userid
# ========== 2. 工具函數 ==========
def get_access_token(corp_id: str, secret: str) -> str:"""獲取 access_token(有效期 7200 s,建議本地緩存)"""url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken"params = {"corpid": corp_id, "corpsecret": secret}resp = requests.get(url, params=params, timeout=10)data = resp.json()if data.get("errcode") != 0:raise RuntimeError(f"獲取 token 失敗 → {data}")return data["access_token"]
def delete_user(token: str, userid: str) -> Dict:"""刪除單個成員"""url = f"https://qyapi.weixin.qq.com/cgi-bin/user/delete?access_token={token}&userid={userid}"resp = requests.get(url, timeout=10)return resp.json()
# ========== 3. 主流程 ==========
def main():try:print("[Step 1] 獲取 access_token …")token = get_access_token(CORP_ID, CONTACT_SYNC_SECRET)print("? token 獲取成功,前 10 位:", token[:10])print(f"[Step 2] 刪除成員(userid={USER_ID_TO_DELETE})…")ret = delete_user(token, USER_ID_TO_DELETE)if ret.get("errcode") == 0:print("? 刪除成功")else:print("? 刪除失敗,返回:", ret)# 常見錯誤碼提示if ret.get("errcode") == 60111:      # 官方錯誤碼print("提示:成員 userid 不存在")elif ret.get("errcode") == 48009:print("提示:無權限,請確認:\n""  1) 使用了『通訊錄同步』專用 Secret\n""  2) 當前出口 IP 已加入企業微信后臺白名單")sys.exit(1)except Exception as e:print("發生異常:", e)sys.exit(1)
# ========== 4. 運行 ==========
if __name__ == "__main__":main()

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/98039.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/98039.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/98039.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

硬件開發_基于物聯網的自動售賣機系統

一.系統概述 物聯網自動售賣機系統的主要功能如下: 核心控制器:采用STM32單片機作為系統核心,負責整體數據處理和各設備的統一控制。商品選擇:支持語音識別及按鍵方式,方便用戶在售賣機內選擇商品。語音播報&#xff1…

AGENTS.md: AI編碼代理的開放標準

每個項目都有一個 README.md 文件供人類閱讀。但隨著 AI 編碼代理和 AI 輔助開發的興起,我們需要一個新標準:AGENTS.md。這個 Markdown 文件定義了代理如何構建、測試和協作。 這就是 AGENTS.md 的作用。 它是一個簡單的 Markdown 文件,告訴 AI 助手如何在你的項目中操作:…

如何解決 OutOfMemoryError 內存溢出 —— 原因、定位與解決方案

網羅開發(小紅書、快手、視頻號同名)大家好,我是 展菲,目前在上市企業從事人工智能項目研發管理工作,平時熱衷于分享各種編程領域的軟硬技能知識以及前沿技術,包括iOS、前端、Harmony OS、Java、Python等方…

阿里云服務器配置ssl-docker nginx

# 切換到您當前的目錄 cd /AAAAAAAAAAAA# 創建存放nginx配置、證書和日志的目錄結構 mkdir -p nginx-config/conf.d nginx-ssl nginx-logs# 為掛載做準備,您可能需要將當前dist目錄內容移動到新的html目錄 # 首先查看當前dist目錄的內容 ls -la dist/# 如果html目錄…

2025全球生成式引擎優化(GEO)服務商發展趨勢與企業賦能白皮書

引言:人工智能技術的迅猛發展,特別是在生成式AI領域的突破,正以前所未有的力量重塑商業世界的競爭格局。對于尋求提升在線可見性、優化品牌互動及實現可持續增長的企業而言,生成式引擎優化(GEO)已然成為數字…

海康威視工業相機SDK開發實戰:使用C/C++實現軟件觸發圖像采集(含詳細中文注釋代碼)

一、前言 在機器視覺、自動化檢測、智能制造等領域,工業相機是獲取圖像數據的核心設備。海康威視作為國內領先的機器視覺廠商,其工業相機產品線豐富,廣泛應用于各類工業場景。 本文將帶你從零開始,使用 海康MVS SDK(Ma…

Modbus RTU 協議介紹

Modbus RTU 協議介紹 異步串行傳輸方式,采用二進制格式,適用于串行通訊(如RS-485),效率高,是工業現場的主流選擇。 主站是Master,從站是Slave。 Modbus RTU 協議格式 幀結構 地址碼&#xf…

TCP/IP函數——sendmsg

sendmsg() 是 POSIX 標準中一個高級套接字發送函數,屬于系統調用(由操作系統內核實現),定義在 <sys/socket.h> 頭文件中。它的核心特點是支持復雜消息結構,不僅能發送常規數據,還能附加控制信息(如輔助數據、IP 選項等),適用于 TCP、UDP 等多種協議,功能比 sen…

運動控制中的插值運動(插補運動):原理、實現與應用

在自動化設備中,從起點到終點的精準軌跡控制是核心需求。當目標軌跡是直線、圓弧或復雜曲線時,僅通過離散的目標點無法實現平滑運動,這就需要插值運動(Interpolation Motion)技術 —— 通過控制算法在已知路徑點之間計算出連續的中間點,使運動部件沿預定軌跡平滑移動。本…

GMT——用于人形全身控制的通用運動跟蹤:兩階段師生訓練框架下,全身基于單一策略,且自適應采樣、MoE架構

前言 如此文《KungfuBot——基于物理約束和自適應運動追蹤的人形全身控制PBHC&#xff0c;用于學習打拳或跳舞(即RL下的動作模仿和運控)》的開頭所說 如此&#xff0c;便關注到最新出來的三個工作 第一個是GMT: General Motion Tracking for Humanoid Whole-Body Control第二個…

matlab版本粒子群算法(PSO)在路徑規劃中的應用

基于粒子群優化&#xff08;PSO&#xff09;算法的路徑規劃 MATLAB代碼實現 1. 初始化環境和參數 % 初始化環境參數 mapSize [10, 10]; % 地圖大小 startPoint [1, 1]; % 起點 endPoint [9, 9]; % 終點 obstacles [3, 3; 5, 5; 7, 7]; % 障礙物位置% PSO參數 numParticles …

Go語言面試:傳值與傳引用的區別及選擇指南

在Go語言中&#xff0c;函數參數的傳遞方式有兩種&#xff1a;傳值&#xff08;pass-by-value&#xff09;和傳引用&#xff08;pass-by-reference&#xff09;。理解這兩種方式的區別及其適用場景&#xff0c;是成為Go語言開發高手的必備技能。本文將深入探討Go語言中傳值與傳…

數據無言,網關有聲 耐達訊自動化RS485轉Profinet讓千年液位數據“開口說話”

在能源行業的數字化轉型浪潮中&#xff0c;你是否曾面臨這樣的困境&#xff1a; 現場大量采用RS485接口的液位計&#xff0c;數據孤立如信息孤島&#xff0c;無法接入Profinet高速網絡&#xff1f; 模擬信號傳輸距離受限&#xff0c;抗干擾能力弱&#xff0c;導致液位測量誤差…

出口退稅新政大提速:企業如何抓住政策紅利,提升最高13%純利?

近年來&#xff0c;出口退稅政策的優化與升級&#xff0c;正在成為外貿企業提升資金周轉率和利潤率的關鍵。國家稅務總局發布的 2022年第9號公告&#xff08;簡稱“9號公告”&#xff09;落地執行已兩年&#xff0c;外貿行業普遍感受到退稅速度顯著加快&#xff0c;平均退稅周期…

使用pytorch創建/訓練/推理OCR模型

一、任務描述 從手寫數字圖像中自動識別出對應的數字&#xff08;0-9&#xff09;” 的問題&#xff0c;屬于單標簽圖像分類任務&#xff08;每張圖像僅對應一個類別&#xff0c;即 0-9 中的一個數字&#xff09; 1、任務的核心定義&#xff1a;輸入與輸出 輸入&#xff1a;28…

新啟航開啟深孔測量新紀元:激光頻率梳技術攻克光學遮擋,達 130mm 深度 2μm 精度

摘要&#xff1a;本文聚焦于深孔測量領域&#xff0c;介紹了一種創新的激光頻率梳技術。該技術成功攻克傳統測量中的光學遮擋難題&#xff0c;在深孔測量深度達 130mm 時&#xff0c;可實現 2μm 的高精度測量&#xff0c;為深孔測量開啟了新的發展篇章。關鍵詞&#xff1a;激光…

GEO優化推薦:AI搜索新紀元下的品牌內容權威構建

引言&#xff1a;AI搜索引擎崛起與GEO策略的戰略重心轉移2025年&#xff0c;以ChatGPT、百度文心一言、DeepSeek為代表的AI搜索引擎已深入成為公眾信息獲取的核心渠道。這標志著品牌營銷策略的重心&#xff0c;正從傳統的搜索引擎優化&#xff08;SEO&#xff09;加速向生成式引…

uniapp的上拉加載H5和小程序

小程序配置{"path": "list/course-list","style": {"navigationBarTitleText": "課程列表","enablePullDownRefresh": true,"onReachBottomDistance": 150}}上拉拉觸底鉤子onReachBottom() {var that …

【和春筍一起學C++】(四十)抽象數據類型

抽象數據類型&#xff08;abstract data type, ADT&#xff09;以通用的方式描述數據類型。C中類的概念非常適合于ADT方法。例如&#xff0c;C程序通過堆棧來管理自動變量&#xff0c;堆棧可由對它執行的操作來描述。可創建空堆棧&#xff1b;可將數據項添加到堆頂&#xff08;…

大文件斷點續傳解決方案:基于Vue 2與Spring Boot的完整實現

大文件斷點續傳解決方案:基于Vue 2與Spring Boot的完整實現 在現代Web應用中,大文件上傳是一個常見但具有挑戰性的需求。傳統的文件上傳方式在面對網絡不穩定、大文件傳輸時往往表現不佳。本文將詳細介紹如何實現一個支持斷點續傳的大文件上傳功能,結合Vue 2前端和Spring Bo…