41 lines
1.5 KiB
Python
41 lines
1.5 KiB
Python
from wecom_sdk.exceptions.general import SDKException
|
|
from wecom_sdk.modules.base import WecomBaseClient
|
|
from wecom_sdk.utils.requests import HttpxRequest
|
|
|
|
class WecomContactClient(WecomBaseClient):
|
|
|
|
async def get_contact_list(self , userid: str):
|
|
"""
|
|
获取联系人列表
|
|
@param userid: 用户id
|
|
|
|
@return: 联系人列表
|
|
"""
|
|
url = self.BASE_URL + "/externalcontact/list"
|
|
params = {"access_token": await self.access_token , "userid": userid}
|
|
resp = await HttpxRequest.post(url=url, params=params)
|
|
|
|
if resp.errcode == 0:
|
|
return resp.external_contact_list
|
|
else:
|
|
raise SDKException(resp.errcode, resp.errmsg)
|
|
|
|
async def get_contact_detail(self , external_userid: str , cursor : None | str = None):
|
|
"""
|
|
获取联系人详情
|
|
@param userid: 用户id
|
|
@param external_userid: 外部联系人id
|
|
@param cursor: 分页游标
|
|
|
|
@return: 联系人详情
|
|
"""
|
|
url = self.BASE_URL + "/externalcontact/get"
|
|
params = {"access_token": await self.access_token , "external_userid": external_userid }
|
|
params.update({"cursor": cursor} if cursor else {})
|
|
|
|
resp = await HttpxRequest.post(url=url, params=params)
|
|
|
|
if resp.get("errcode") == 0:
|
|
return resp.get("external_contact" , {})
|
|
else:
|
|
raise SDKException(resp.errcode, resp.errmsg) |