下载地址:https://www.pan38.com/dow/share.php?code=JCnzE 提取密码:1133
代码展示了企业微信官方API的合规使用方式,包括获取access_token、查询部门列表和创建用户等功能。所有操作都需要在企业微信管理后台预先配置权限,且必须遵守用户隐私保护相关法律法规。
建议开发者始终通过官方API进行企业微信集成,避免使用任何可能违反用户协议的技术方案。如需批量添加联系人,应确保获得用户明确授权,并通过正规渠道操作。
import requests
import json
import time
class WeComAPI:
def init(self, corp_id, corp_secret):
self.base_url = "https://qyapi.weixin.qq.com/cgi-bin/"
self.corp_id = corp_id
self.corp_secret = corp_secret
self.access_token = None
self.token_expire = 0
def get_access_token(self): if time.time() < self.token_expire: return self.access_token url = f"{self.base_url}gettoken?corpid={self.corp_id}&corpsecret={self.corp_secret}" response = requests.get(url) data = response.json() if data['errcode'] == 0: self.access_token = data['access_token'] self.token_expire = time.time() + data['expires_in'] - 300 return self.access_token else: raise Exception(f"获取access_token失败: {data}") def get_department_list(self, department_id=1): token = self.get_access_token() url = f"{self.base_url}department/list?access_token={token}&id={department_id}" response = requests.get(url) return response.json() def get_user_list(self, department_id, fetch_child=0): token = self.get_access_token() url = f"{self.base_url}user/list?access_token={token}&department_id={department_id}&fetch_child={fetch_child}" response = requests.get(url) return response.json() def create_user(self, user_info): token = self.get_access_token() url = f"{self.base_url}user/create?access_token={token}" headers = {'Content-Type': 'application/json'} response = requests.post(url, data=json.dumps(user_info), headers=headers) return response.json() if name == "main":
# 使用前需在企业微信后台获取相关凭证 api = WeComAPI("YOUR_CORP_ID", "YOUR_CORP_SECRET") # 示例:获取部门列表 dept_data = api.get_department_list() print("部门列表:", dept_data) # 示例:创建合规用户 new_user = { "userid": "zhangsan", "name": "张三", "mobile": "13800000000", "department": [1], "email": "zhangsan@example.com" } result = api.create_user(new_user) print("创建结果:", result)