下载地址: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)