官方文档:http://work.weixin.qq.com/api/doc#10016
1、创建成员
官方文档:http://work.weixin.qq.com/api/doc#10018
# -*- coding:UTF-8 -*-
import urllib2
import urllib
import json
def get_access_token():
'''获取认证access_token值'''
url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?'
# corpid: 每个企业都拥有唯一的corpid corpsecret: 通讯录管理secret
para = {'corpid':'ww2f9a1a85f1806981','corpsecret':'bvAUJ2OYnjB4eAlCpSdH2_0CSyTi6403ZAgtIVVpFpA'}
req = urllib2.Request(url + urllib.urlencode(para))
ret = urllib2.urlopen(req)
ret = json.loads(ret.read())
return ret
token_id = get_access_token().get('access_token')
data = {
"userid": "zhangsan",
"name": "张三",
"english_name": "jackzhang",
"mobile": "15913215421",
"department": [1, 3],
}
def create_user(token_id,data):
'''创建用户
:param token_id: 用于认证的access_token
:param data: 提交创建用户的信息
'''
headers = {'Content-Type': 'application/json'}
url = "https://qyapi.weixin.qq.com/cgi-bin/user/create?access_token=%s"%(token_id)
request = urllib2.Request(url=url, headers=headers, data=json.dumps(data))
response = urllib2.urlopen(request)
print response.read() # 返回结果:{"errcode":0,"errmsg":"created"}
create_user(token_id,data)
2、读取成员
官方文档:http://work.weixin.qq.com/api/doc#10019
# -*- coding:UTF-8 -*-
import urllib2
import urllib
import json
def get_access_token():
url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?'
# corpid: 每个企业都拥有唯一的corpid corpsecret: 通讯录管理secret
para = {'corpid':'ww2f9a1a85f1806981','corpsecret':'bvAUJ2OYnjB4eAlCpSdH2_0CSyTi6403ZAgtIVVpFpA'}
req = urllib2.Request(url + urllib.urlencode(para))
ret = urllib2.urlopen(req)
ret = json.loads(ret.read())
return ret
token_id = get_access_token().get('access_token')
def read_user_info(token_id,userid):
''' 获取执行用户信息
:param token_id: 用于认证的access_token
:param userid: 用户账号id
'''
url = 'https://qyapi.weixin.qq.com/cgi-bin/user/get?'
para = {'access_token': token_id, 'userid': userid}
req = urllib2.Request(url + urllib.urlencode(para))
ret = urllib2.urlopen(req)
ret = json.loads(ret.read())
print ret
read_user_info(token_id, 'XiaoNaiQiang')
读取成员XiaoNaiQiang信息
3、更新成员
官方文档:http://work.weixin.qq.com/api/doc#10020
# -*- coding:UTF-8 -*-
import urllib2
import urllib
import json
def get_access_token():
url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?'
# corpid: 每个企业都拥有唯一的corpid corpsecret: 通讯录管理secret
para = {'corpid':'ww2f9a1a85f1806981','corpsecret':'bvAUJ2OYnjB4eAlCpSdH2_0CSyTi6403ZAgtIVVpFpA'}
req = urllib2.Request(url + urllib.urlencode(para))
ret = urllib2.urlopen(req)
ret = json.loads(ret.read())
return ret
token_id = get_access_token().get('access_token')
data = {
"userid": "zhangsan", # 只有userid是必须提供的,其他信息都不是必须的
"name": "张三",
"mobile": "18588888889",
}
def update_user_info(token_id,data):
'''更新用户信息
:param token_id: 用于认证的access_token
:param data: 需要修改成的内容
'''
headers = {'Content-Type': 'application/json'}
url = "https://qyapi.weixin.qq.com/cgi-bin/user/update?access_token=%s" % (token_id)
request = urllib2.Request(url=url, headers=headers, data=json.dumps(data))
response = urllib2.urlopen(request)
print response.read() # 返回结果:{"errcode":0,"errmsg":"updated"}
update_user_info(token_id,data)
更新成员信息
4、删除成员
官方文档:http://work.weixin.qq.com/api/doc#10030
# -*- coding:UTF-8 -*-
import urllib2
import urllib
import json
def get_access_token():
url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?'
# corpid: 每个企业都拥有唯一的corpid corpsecret: 通讯录管理secret
para = {'corpid':'ww2f9a1a85f1806981','corpsecret':'bvAUJ2OYnjB4eAlCpSdH2_0CSyTi6403ZAgtIVVpFpA'}
req = urllib2.Request(url + urllib.urlencode(para))
ret = urllib2.urlopen(req)
ret = json.loads(ret.read())
return ret
token_id = get_access_token().get('access_token')
def delete_user_info(token_id, userid):
''' 删除执行成员
:param token_id: 用于认证的access_token
:param userid: 用户账号id
'''
url = 'https://qyapi.weixin.qq.com/cgi-bin/user/delete?'
para = {'access_token': token_id, 'userid': userid}
req = urllib2.Request(url + urllib.urlencode(para))
ret = urllib2.urlopen(req)
ret = json.loads(ret.read())
print ret
delete_user_info(token_id,'zhangsan')
删除成员
5、批量删除成员
官方文档:http://work.weixin.qq.com/api/doc#10060
# -*- coding:UTF-8 -*-
import urllib2
import urllib
import json
def get_access_token():
'''获取认证access_token值'''
url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?'
# corpid: 每个企业都拥有唯一的corpid corpsecret: 通讯录管理secret
para = {'corpid':'ww2f9a1a85f1806981','corpsecret':'bvAUJ2OYnjB4eAlCpSdH2_0CSyTi6403ZAgtIVVpFpA'}
req = urllib2.Request(url + urllib.urlencode(para))
ret = urllib2.urlopen(req)
ret = json.loads(ret.read())
return ret
token_id = get_access_token().get('access_token')
data = {
"useridlist": ["zhangsan", "lisi"]
}
def batch_delete_users(token_id,data):
'''创建用户
:param token_id: 用于认证的access_token
:param data: 提交需要删除用户的userid
'''
headers = {'Content-Type': 'application/json'}
url = "https://qyapi.weixin.qq.com/cgi-bin/user/batchdelete?access_token=%s"%(token_id)
request = urllib2.Request(url=url, headers=headers, data=json.dumps(data))
response = urllib2.urlopen(request)
print response.read() # 返回结果:{"errcode":0,"errmsg":"deleted"}
batch_delete_users(token_id,data)
批量删除成员
6、获取部门成员基本信息
官方文档:http://work.weixin.qq.com/api/doc#10061
# -*- coding:UTF-8 -*-
import urllib2
import urllib
import json
def get_access_token():
url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?'
# corpid: 每个企业都拥有唯一的corpid corpsecret: 通讯录管理secret
para = {'corpid':'ww2f9a1a85f1806981','corpsecret':'bvAUJ2OYnjB4eAlCpSdH2_0CSyTi6403ZAgtIVVpFpA'}
req = urllib2.Request(url + urllib.urlencode(para))
ret = urllib2.urlopen(req)
ret = json.loads(ret.read())
return ret
token_id = get_access_token().get('access_token')
def get_dept_users(token_id, department_id):
''' 获取指定部门成员信息
:param token_id: 用于认证的access_token
:param department_id: 部门id
'''
url = 'https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?'
para = {'access_token': token_id, 'department_id':department_id}
req = urllib2.Request(url + urllib.urlencode(para))
ret = urllib2.urlopen(req)
ret = json.loads(ret.read())
print ret
get_dept_users(token_id,'3')
获取部门成员基本信息
7、获取部门成员详细信息
官方文档:http://work.weixin.qq.com/api/doc#10063
# -*- coding:UTF-8 -*-
import urllib2
import urllib
import json
def get_access_token():
url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?'
# corpid: 每个企业都拥有唯一的corpid corpsecret: 通讯录管理secret
para = {'corpid':'ww2f9a1a85f1806981','corpsecret':'bvAUJ2OYnjB4eAlCpSdH2_0CSyTi6403ZAgtIVVpFpA'}
req = urllib2.Request(url + urllib.urlencode(para))
ret = urllib2.urlopen(req)
ret = json.loads(ret.read())
return ret
token_id = get_access_token().get('access_token')
def get_dept_users(token_id, department_id):
''' 获取指定部门成员详细信息
:param token_id: 用于认证的access_token
:param department_id: 部门id
'''
url = 'https://qyapi.weixin.qq.com/cgi-bin/user/list?'
para = {'access_token': token_id, 'department_id': department_id}
req = urllib2.Request(url + urllib.urlencode(para))
ret = urllib2.urlopen(req)
ret = json.loads(ret.read())
print ret
get_dept_users(token_id,'3')
获取部门成员详细信息
1、创建部门
官方文档:http://work.weixin.qq.com/api/doc#10076
# -*- coding:UTF-8 -*-
import urllib2
import urllib
import json
def get_access_token():
'''获取认证access_token值'''
url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?'
# corpid: 每个企业都拥有唯一的corpid corpsecret: 通讯录管理secret
para = {'corpid':'ww2f9a1a85f1806981','corpsecret':'bvAUJ2OYnjB4eAlCpSdH2_0CSyTi6403ZAgtIVVpFpA'}
req = urllib2.Request(url + urllib.urlencode(para))
ret = urllib2.urlopen(req)
ret = json.loads(ret.read())
return ret
token_id = get_access_token().get('access_token')
data = {
"name": "广州研发中心", # 部门名称(必填)
"parentid": 1, # 父部门id(必填)
"id": 5 # 部门id,不填将自动生成id(选填)
}
def create_dept(token_id,data):
'''创建部门
:param token_id: 用于认证的access_token
:param data: 创建部门信息
'''
headers = {'Content-Type': 'application/json'}
url = "https://qyapi.weixin.qq.com/cgi-bin/department/create?access_token=%s"%(token_id)
request = urllib2.Request(url=url, headers=headers, data=json.dumps(data))
response = urllib2.urlopen(request)
print response.read() # 返回结果:{"errcode":0,"errmsg":"created","id":5}
create_dept(token_id,data)
创建部门
2、更新部门
官方文档:http://work.weixin.qq.com/api/doc#10077
# -*- coding:UTF-8 -*-
import urllib2
import urllib
import json
def get_access_token():
'''获取认证access_token值'''
url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?'
# corpid: 每个企业都拥有唯一的corpid corpsecret: 通讯录管理secret
para = {'corpid':'ww2f9a1a85f1806981','corpsecret':'bvAUJ2OYnjB4eAlCpSdH2_0CSyTi6403ZAgtIVVpFpA'}
req = urllib2.Request(url + urllib.urlencode(para))
ret = urllib2.urlopen(req)
ret = json.loads(ret.read())
return ret
token_id = get_access_token().get('access_token')
data = {
"name": "广州研发中心部门", # 部门名称(必填)
"parentid": 1, # 父部门id(必填)
"id": 5 # 部门id,不填将自动生成id(选填)
}
def update_dept(token_id,data):
'''修改部门
:param token_id: 用于认证的access_token
:param data: 需要修改的部门信息
'''
headers = {'Content-Type': 'application/json'}
url = "https://qyapi.weixin.qq.com/cgi-bin/department/update?access_token=%s"%(token_id)
request = urllib2.Request(url=url, headers=headers, data=json.dumps(data))
response = urllib2.urlopen(request)
print response.read() # 返回结果:{"errcode":0,"errmsg":"updated"}
update_dept(token_id,data)
更新部门
3、删除部门
官方文档:http://work.weixin.qq.com/api/doc#10079
# -*- coding:UTF-8 -*-
import urllib2
import urllib
import json
def get_access_token():
url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?'
# corpid: 每个企业都拥有唯一的corpid corpsecret: 通讯录管理secret
para = {'corpid':'ww2f9a1a85f1806981','corpsecret':'bvAUJ2OYnjB4eAlCpSdH2_0CSyTi6403ZAgtIVVpFpA'}
req = urllib2.Request(url + urllib.urlencode(para))
ret = urllib2.urlopen(req)
ret = json.loads(ret.read())
return ret
token_id = get_access_token().get('access_token')
def delete_dept(token_id,id):
'''删除指定部门
:param token_id: 用于认证的access_token
:param id: 要删除的部门id
'''
url = 'https://qyapi.weixin.qq.com/cgi-bin/department/delete?'
para = {'access_token': token_id, 'id': id}
req = urllib2.Request(url + urllib.urlencode(para))
ret = urllib2.urlopen(req)
ret = json.loads(ret.read())
print ret
delete_dept(token_id,5)
删除部门
4、获取部门列表
官方文档:http://work.weixin.qq.com/api/doc#10093
# -*- coding:UTF-8 -*-
import urllib2
import urllib
import json
def get_access_token():
url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?'
# corpid: 每个企业都拥有唯一的corpid corpsecret: 通讯录管理secret
para = {'corpid':'ww2f9a1a85f1806981','corpsecret':'bvAUJ2OYnjB4eAlCpSdH2_0CSyTi6403ZAgtIVVpFpA'}
req = urllib2.Request(url + urllib.urlencode(para))
ret = urllib2.urlopen(req)
ret = json.loads(ret.read())
return ret
token_id = get_access_token().get('access_token')
def delete_dept(token_id,id):
'''删除指定部门
:param token_id: 用于认证的access_token
:param id: 要获取的部门id
'''
url = 'https://qyapi.weixin.qq.com/cgi-bin/department/list?'
para = {'access_token': token_id, 'id': id}
req = urllib2.Request(url + urllib.urlencode(para))
ret = urllib2.urlopen(req)
ret = json.loads(ret.read())
print ret
delete_dept(token_id,1)
获取指定部门及其下的子部门