100 lines
4.0 KiB
Python
100 lines
4.0 KiB
Python
import jmespath
|
|
import requests
|
|
from requests import post
|
|
|
|
from wechat_token.token工具包 import sixToken
|
|
|
|
|
|
class 通讯录管理:
|
|
"""注释"""
|
|
|
|
def 成员扩展属性(self):
|
|
"""
|
|
|
|
"""
|
|
pass
|
|
"""
|
|
成员自定义属性需要先在WEB管理端添加,见扩展属性添加方法,否则忽略未知属性的赋值。
|
|
• 新增/更新:仅通讯录同步助手或第三方通讯录应用可以进行
|
|
• 查询:代开发自建应用需要管理员授权才返回;第三方仅通讯录应用可获取;对于非第三方创建的成员,第三方通讯录应用也不可获取;上游企业不可获取下游企业成员该字段
|
|
"""
|
|
|
|
def 创建成员(self):
|
|
"""
|
|
|
|
"""
|
|
pass
|
|
|
|
def 读取成员(self):
|
|
"""
|
|
|
|
"""
|
|
pass
|
|
"""
|
|
应用只能获取可见范围内的成员信息,且每种应用获取的字段有所不同,在返回结果说明中会逐个说明。企业通讯录安全特别重要,企业微信将持续升级加固通讯录接口的安全机制,以下是关键的变更点:
|
|
从2022年6月20号20点开始,除通讯录同步以外的基础应用(如客户联系、微信客服、会话存档、日程等),以及新创建的自建应用与代开发应用,调用该接口时,不再返回以下字段:头像、性别、手机、邮箱、企业邮箱、员工个人二维码、地址,应用需要通过oauth2手工授权的方式获取管理员与员工本人授权的字段。
|
|
【重要】从2022年8月15日10点开始,“企业管理后台 - 管理工具 - 通讯录同步”的新增IP将不能再调用此接口,企业可通过「获取成员ID列表」和「获取部门ID列表」接口获取userid和部门ID列表。查看调整详情。
|
|
"""
|
|
wecom_phone_token = sixToken.get_weom_phone_token()
|
|
print(wecom_phone_token)
|
|
wecom_token = sixToken.get_wecom_token()
|
|
uri = f"https://qyapi.weixin.qq.com/cgi-bin/user/get"
|
|
data = requests.get(url=uri, params={"access_token": wecom_phone_token, "userid": "HuDie_1"})
|
|
print(data.json())
|
|
|
|
def 更新成员(self):
|
|
"""
|
|
|
|
"""
|
|
pass
|
|
|
|
def 删除成员(self):
|
|
"""
|
|
|
|
"""
|
|
pass
|
|
|
|
def 获取成员ID列表(self):
|
|
"""
|
|
|
|
"""
|
|
pass
|
|
"""
|
|
获取企业成员的userid与对应的部门ID列表,预计于2022年8月8号发布。若需要获取其他字段,参见「适配建议」。
|
|
请求地址:https://qyapi.weixin.qq.com/cgi-bin/user/list_id?access_token=ACCESS_TOKEN
|
|
"""
|
|
|
|
wecom_phone_token = sixToken.get_weom_phone_token()
|
|
print(wecom_phone_token)
|
|
uri = f"https://qyapi.weixin.qq.com/cgi-bin/user/list_id"
|
|
data = requests.post(url=uri, params={"access_token": wecom_phone_token})
|
|
print(data.json())
|
|
|
|
def unionid与external_userid的关联(self):
|
|
"""本接口自建应用是不能调用的,所以,本接口无效,仅限了服务商代开发或"""
|
|
pass
|
|
wecom_token = sixToken.get_wecom_token()
|
|
uri = f"https://qyapi.weixin.qq.com/cgi-bin/idconvert/unionid_to_external_userid?access_token={wecom_token}"
|
|
post_data = {
|
|
"unionid": "oy4Jw6A1T3WkKOOhMxcbQTDSM8rs",
|
|
"openid": "o6oV61xoMYAFNpi4RpVjn3BFGB1U",
|
|
"subject_type": 0
|
|
}
|
|
data = post(url=uri, json=post_data).json()
|
|
print(data)
|
|
|
|
@classmethod
|
|
def userid转openid(cls):
|
|
wecom_phone_token = sixToken.get_weom_phone_token()
|
|
uri = f"https://qyapi.weixin.qq.com/cgi-bin/user/convert_to_openid"
|
|
data = requests.post(url=uri, params={"access_token": wecom_phone_token}, json={"userid": "YuanBao1975"})
|
|
print(data.json())
|
|
|
|
|
|
if __name__ == '__main__':
|
|
pass
|
|
通讯录管理().获取成员ID列表()
|
|
# 通讯录管理.userid转openid()
|
|
# 通讯录管理().unionid与external_userid的关联()
|
|
# 通讯录管理().读取成员()
|