808 lines
22 KiB
Python
808 lines
22 KiB
Python
# coding: utf-8
|
||
|
||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||
|
||
from six import PY2
|
||
|
||
if PY2:
|
||
def implements_to_string(cls):
|
||
cls.__unicode__ = cls.__str__
|
||
cls.__str__ = lambda x: x.__unicode__().encode('utf-8')
|
||
return cls
|
||
else:
|
||
def implements_to_string(x):
|
||
return x
|
||
|
||
|
||
@implements_to_string
|
||
class OpenLarkException(Exception):
|
||
def __init__(self, *args, **kwargs):
|
||
"""基本 Exception
|
||
"""
|
||
self.code = kwargs.pop('code', None) or getattr(self, 'code', None) or 0
|
||
self.msg = kwargs.pop('msg', None) or getattr(self, 'msg', None)
|
||
self.url = kwargs.pop('url', None) or getattr(self, 'url', None)
|
||
|
||
def __str__(self):
|
||
if PY2:
|
||
if self.url:
|
||
return u'<{} code={} msg="{}" url="{}">'.format(self.__class__.__name__, self.code, self.msg, self.url)
|
||
else:
|
||
return u'<{} code={} msg="{}">'.format(self.__class__.__name__, self.code, self.msg)
|
||
else:
|
||
if self.url:
|
||
return '<{} code={} msg="{}" url="{}">'.format(self.__class__.__name__, self.code, self.msg, self.url)
|
||
else:
|
||
return '<{} code={} msg="{}">'.format(self.__class__.__name__, self.code, self.msg)
|
||
|
||
|
||
# --------- OpenLark SDK 定义的参数错误
|
||
|
||
class LarkInvalidArguments(OpenLarkException):
|
||
code = 999901
|
||
msg = 'feishu invalid arguments'
|
||
|
||
|
||
class LarkInvalidCallback(OpenLarkException):
|
||
code = 999902
|
||
msg = 'feishu callback error'
|
||
|
||
|
||
class LarkGetAppTicketFail(OpenLarkException):
|
||
code = 999903
|
||
msg = 'get app_ticket fail'
|
||
|
||
|
||
class LarkUnknownError(OpenLarkException):
|
||
code = 999904
|
||
msg = 'unknown error'
|
||
|
||
|
||
# --------- 机器人和服务端异常
|
||
|
||
class LarkSendMessageFailException(OpenLarkException):
|
||
code = 10002
|
||
msg = '发送消息失败'
|
||
|
||
|
||
class LarkRequestParamsInvalidException(OpenLarkException):
|
||
code = 10003
|
||
msg = '请求参数不合法'
|
||
|
||
|
||
class LarkGetUserInfoFailOrUserIDNotExistException(OpenLarkException):
|
||
code = 10004
|
||
msg = '获取用户信息失败或者用户 ID 不存在'
|
||
|
||
|
||
class LarkConflictAppIDException(OpenLarkException):
|
||
code = 10005
|
||
msg = '生成 token 的 app_id 和相关 chat、open_id 的 app_id 不一致'
|
||
|
||
|
||
class LarkGetOpenChatIDFailException(OpenLarkException):
|
||
code = 10009
|
||
msg = '获取 open_chat_id 失败'
|
||
|
||
|
||
class LarkForbiddenSendMessageException(OpenLarkException):
|
||
code = 10010
|
||
msg = '禁止发送消息,请检查 scope 权限,机器人可见性范围'
|
||
|
||
|
||
class LarkGetAppAccessTokenFailException(OpenLarkException):
|
||
code = 10012
|
||
msg = '获取 app access token 失败'
|
||
|
||
|
||
class LarkGetTenantAccessTokenFailException(OpenLarkException):
|
||
code = 10013 # 10014
|
||
msg = '获取 tenant access token 失败'
|
||
|
||
|
||
class LarkWrongAppSecretException(OpenLarkException):
|
||
code = 10015
|
||
msg = 'app_secret 不正确'
|
||
|
||
|
||
class LarkSendAppTicketFailException(OpenLarkException):
|
||
code = 10016
|
||
msg = '发送 app_ticket 失败'
|
||
|
||
|
||
class LarkUnsupportedUrgentTypeException(OpenLarkException):
|
||
code = 10019
|
||
msg = '加急类型不支持'
|
||
|
||
|
||
class LarkWrongMessageIDException(OpenLarkException):
|
||
code = 10020
|
||
msg = '消息 ID 不正确'
|
||
|
||
|
||
class LarkForbiddenUrgentException(OpenLarkException):
|
||
code = 10023
|
||
msg = '没有加急 scope 权限'
|
||
|
||
|
||
class LarkInvalidOpenChatIDException(OpenLarkException):
|
||
code = 10029
|
||
msg = 'open_chat_id 不合法'
|
||
|
||
|
||
class LarkBotNotInChatException(OpenLarkException):
|
||
code = 10030
|
||
msg = '机器人不在群里'
|
||
|
||
|
||
class LarkAllOpenIDInvalidException(OpenLarkException):
|
||
code = 10032
|
||
msg = '所有 open_id 都不合法'
|
||
|
||
|
||
class LarkUnsupportedCrossTenantException(OpenLarkException):
|
||
code = 10034
|
||
msg = '不支持跨企业操作'
|
||
|
||
|
||
class LarkGetMessageIDFailException(OpenLarkException):
|
||
code = 10037
|
||
msg = '获取 message_id 失败'
|
||
|
||
|
||
class LarkGetSSOAccessTokenFailException(OpenLarkException):
|
||
code = 11000
|
||
msg = '获取 sso_access_token 失败'
|
||
|
||
|
||
class LarkGetCheckSecurityTokenFailException(OpenLarkException):
|
||
code = 11001
|
||
msg = '获取 CheckSecurityToken 失败'
|
||
|
||
|
||
class LarkCheckOpenChatIDFailException(OpenLarkException):
|
||
code = 11100
|
||
msg = 'open_chat_id 不合法或者 chat 不存在'
|
||
|
||
|
||
class LarkOpenIDNotExistException(OpenLarkException):
|
||
code = 11101
|
||
msg = 'open_id 不存在'
|
||
|
||
|
||
class LarkGetOpenIDFailException(OpenLarkException):
|
||
code = 11102
|
||
msg = '查询用户 open_id 失败'
|
||
|
||
|
||
class LarkOpenDepartmentIDNotExistException(OpenLarkException):
|
||
code = 11103
|
||
msg = 'open_department_id 不存在'
|
||
|
||
|
||
class LarkGetOpenDepartmentIDFailException(OpenLarkException):
|
||
code = 11104
|
||
msg = '查询用户 open_department_id 失败'
|
||
|
||
|
||
class LarkEmployeeIDNotExistException(OpenLarkException):
|
||
code = 11105
|
||
msg = 'user_id 不存在'
|
||
|
||
|
||
class LarkGetEmployeeIDFailException(OpenLarkException):
|
||
code = 11106
|
||
msg = '查询用户 user_id 失败'
|
||
|
||
|
||
class LarkUpdateChatNameFailException(OpenLarkException):
|
||
code = 11200
|
||
msg = '更新群名称失败'
|
||
|
||
|
||
class LarkBotNotGroupAdminException(OpenLarkException):
|
||
code = 11201 # 11208
|
||
msg = '机器人不是群主'
|
||
|
||
|
||
class LarkOnlyChatAdminCanInviteUserException(OpenLarkException):
|
||
code = 11202
|
||
msg = '只有群主才能拉用户进群'
|
||
|
||
|
||
class LarkForbiddenBotBatchSendMessageToUserException(OpenLarkException):
|
||
code = 11203
|
||
msg = '机器人没有给用户批量发送权限'
|
||
|
||
|
||
class LarkForbiddenBotBatchSendMessageToDepartmentException(OpenLarkException):
|
||
code = 11204
|
||
msg = '机器人没有给部门批量发送权限'
|
||
|
||
|
||
class LarkAppHasNoBotException(OpenLarkException):
|
||
code = 11205
|
||
msg = '应用没有机器人'
|
||
|
||
|
||
class LarkUserCannotGrantToChatAdminException(OpenLarkException):
|
||
code = 11206
|
||
msg = '用户不在群中不能被设置为群主'
|
||
|
||
|
||
class LarkAppUnavailableException(OpenLarkException):
|
||
code = 11207
|
||
msg = 'app 不可用'
|
||
|
||
|
||
class LarkAppNotExistException(OpenLarkException):
|
||
code = 11209
|
||
msg = 'app 不存在'
|
||
|
||
|
||
class LarkAppUsageInfoNotExistException(OpenLarkException):
|
||
code = 11210
|
||
msg = 'AppUsageInfo 不存在'
|
||
|
||
|
||
class LarkInviteUserToChatInvalidParamsException(OpenLarkException):
|
||
code = 11211
|
||
msg = '拉人进群参数错误'
|
||
|
||
|
||
class LarkRemoveUserFromChatInvalidParamsException(OpenLarkException):
|
||
code = 11212
|
||
msg = '踢人出群参数错误'
|
||
|
||
|
||
class LarkUpdateChatInvalidParamsException(OpenLarkException):
|
||
code = 11213
|
||
msg = '更新群参数错误'
|
||
|
||
|
||
class LarkUploadImageInvalidParamsException(OpenLarkException):
|
||
code = 11214
|
||
msg = '上传图片参数错误'
|
||
|
||
|
||
class LarkEmptyChatIDException(OpenLarkException):
|
||
code = 11215
|
||
msg = 'chat_id 为空'
|
||
|
||
|
||
class LarkGetChatIDFailException(OpenLarkException):
|
||
code = 11216
|
||
msg = '获取chat_id失败'
|
||
|
||
|
||
class LarkInviteBotToChatFailException(OpenLarkException):
|
||
code = 11217
|
||
msg = '拉机器人进群失败'
|
||
|
||
|
||
class LarkBotInChatFullException(OpenLarkException):
|
||
code = 11218
|
||
msg = '群机器人已满'
|
||
|
||
|
||
class LarkUnsupportedChatCrossTenantException(OpenLarkException):
|
||
code = 11219
|
||
msg = '不支持 chat 跨租户'
|
||
|
||
|
||
class LarkForbiddenBotDisbandChatException(OpenLarkException):
|
||
code = 11220
|
||
msg = '禁止机器人解散群'
|
||
|
||
|
||
class LarkBotForbiddenToGetImageBelongToThemException(OpenLarkException):
|
||
code = 11221
|
||
msg = '机器人不能获取不属于自己的图片'
|
||
|
||
|
||
class LarkOwnerOfBotIsNotInChatException(OpenLarkException):
|
||
code = 11222
|
||
msg = '机器人的 Owner 不在群里'
|
||
|
||
|
||
class LarkNotOpenApplicationSendMessagePermissionException(OpenLarkException):
|
||
code = 11223
|
||
msg = '没有打开应用发消息权限'
|
||
|
||
|
||
class LarkInvalidMessageIDException(OpenLarkException):
|
||
code = 11224
|
||
msg = 'message_id 参数错误'
|
||
|
||
|
||
class LarkAppIsNotVisibleToUserException(OpenLarkException):
|
||
code = 11225
|
||
msg = '你的应用对用户不可见'
|
||
|
||
|
||
class LarkInvalidAppIDException(OpenLarkException):
|
||
code = 11226
|
||
msg = 'app_id 参数不对或者没传'
|
||
|
||
|
||
class LarkImageKeyNotExistException(OpenLarkException):
|
||
code = 11227
|
||
msg = ' image_key 不存在'
|
||
|
||
|
||
class LarkBotIsNotMessageOwnerException(OpenLarkException):
|
||
code = 11234
|
||
msg = 'bot非消息owner'
|
||
|
||
|
||
class LarkBanAtALLException(OpenLarkException):
|
||
code = 11235
|
||
msg = '禁止@所有人'
|
||
|
||
|
||
class LarkUserNotActiveException(OpenLarkException):
|
||
code = 11236
|
||
msg = '用户已离职'
|
||
|
||
|
||
class LarkChatDisbandedException(OpenLarkException):
|
||
code = 11237
|
||
msg = '群聊已解散'
|
||
|
||
|
||
class LarkMessageTooOldException(OpenLarkException):
|
||
code = 11238
|
||
msg = '消息过久,不能撤销'
|
||
|
||
|
||
class LarkNoPermissionToGotException(OpenLarkException):
|
||
code = 11239
|
||
msg = '无权限获取'
|
||
|
||
|
||
class LarkInvalidTenantAccessTokenException(OpenLarkException):
|
||
code = 99991663
|
||
msg = 'tenant access token 无效'
|
||
|
||
|
||
class LarkInvalidAppAccessTokenException(OpenLarkException):
|
||
code = 99991664
|
||
msg = 'app access token 无效'
|
||
|
||
|
||
class LarkInvalidTenantCodeException(OpenLarkException):
|
||
code = 99991665
|
||
msg = 'tenant code 无效'
|
||
|
||
|
||
class LarkInvalidAppTicketException(OpenLarkException):
|
||
code = 99991666
|
||
msg = 'app ticket 无效'
|
||
|
||
|
||
class LarkFrequencyLimitException(OpenLarkException):
|
||
code = 99991400
|
||
msg = '发消息频率超过频控限制,目前每个AppID每个接口50/s、1000/min的限制'
|
||
|
||
|
||
class LarkInternalException(OpenLarkException):
|
||
code = 20000
|
||
msg = '内部异常'
|
||
|
||
|
||
# --------- 审批异常 / 审批错误码
|
||
|
||
# 40xx 是审批的 v1 接口
|
||
class LarkApprovalNotExistException(OpenLarkException):
|
||
code = 4002
|
||
msg = 'approval not exist'
|
||
|
||
|
||
class LarkApprovalSubscriptionExistException(OpenLarkException):
|
||
code = 4007
|
||
msg = 'subscription exist'
|
||
|
||
|
||
# 600xxx 是审批的 v3 接口
|
||
|
||
class LarkApprovalInvalidRequestParamsException(OpenLarkException):
|
||
code = 60001
|
||
msg = '请求参数错误'
|
||
|
||
|
||
class LarkApprovalApprovalCodeNotFoundException(OpenLarkException):
|
||
code = 60002
|
||
msg = '审批定义 approval_code 找不到'
|
||
|
||
|
||
class LarkApprovalInstanceCodeNotFoundException(OpenLarkException):
|
||
code = 60003
|
||
msg = '审批实例 instance_code 找不到'
|
||
|
||
|
||
class LarkApprovalUserNotFoundException(OpenLarkException):
|
||
code = 60004
|
||
msg = '用户找不到'
|
||
|
||
|
||
class LarkApprovalForbiddenException(OpenLarkException):
|
||
code = 60009
|
||
msg = '权限不足'
|
||
|
||
|
||
class LarkApprovalTaskIDNotFoundException(OpenLarkException):
|
||
code = 60010
|
||
msg = '审批任务 task_id 找不到'
|
||
|
||
|
||
class LarkApprovalDepartmentValidFailedException(OpenLarkException):
|
||
code = 60005
|
||
msg = '部门验证失败'
|
||
|
||
|
||
class LarkApprovalFormValidFailedException(OpenLarkException):
|
||
code = 60006
|
||
msg = '表单验证失败'
|
||
|
||
|
||
class LarkApprovalNeedPayException(OpenLarkException):
|
||
code = 60011
|
||
msg = '该审批为付费审批,免费版用户不能发起这个审批'
|
||
|
||
|
||
class LarkApprovalInstanceCodeConflictException(OpenLarkException):
|
||
code = 60012
|
||
msg = '审批实例 uuid 冲突'
|
||
|
||
|
||
# --------- 审批异常 / 审批错误码
|
||
|
||
|
||
# --------- 云空间
|
||
|
||
class LarkDriveWrongRequestJsonException(OpenLarkException):
|
||
code = 90201
|
||
msg = '请求体不是一个 json'
|
||
|
||
|
||
class LarkDriveWrongRangeException(OpenLarkException):
|
||
code = 90202
|
||
msg = '请求中 range 格式有误'
|
||
|
||
|
||
class LarkDriveFailException(OpenLarkException):
|
||
code = 90203
|
||
msg = '不是预期内的 fail'
|
||
|
||
|
||
class LarkDriveWrongRequestBodyException(OpenLarkException):
|
||
code = 90204
|
||
msg = '请求体有误'
|
||
|
||
|
||
class LarkDriveInvalidUsersException(OpenLarkException):
|
||
code = 90205
|
||
msg = '非法的 user'
|
||
|
||
|
||
class LarkDriveEmptySheetIDException(OpenLarkException):
|
||
code = 90206
|
||
msg = 'sheet_id 为空'
|
||
|
||
|
||
class LarkDriveEmptySheetTitleException(OpenLarkException):
|
||
code = 90207
|
||
msg = 'sheet 名称为空'
|
||
|
||
|
||
class LarkDriveSameSheetIDOrTitleException(OpenLarkException):
|
||
code = 90208
|
||
msg = '请求中有相同的 sheet_id 或 title'
|
||
|
||
|
||
class LarkDriveExistSheetIDException(OpenLarkException):
|
||
code = 90209
|
||
msg = 'sheet_id 已经存在'
|
||
|
||
|
||
class LarkDriveExistSheetTitleException(OpenLarkException):
|
||
code = 90210
|
||
msg = 'sheet title 已经存在'
|
||
|
||
|
||
class LarkDriveWrongSheetIDException(OpenLarkException):
|
||
code = 90211
|
||
msg = '错误的 sheet_id'
|
||
|
||
|
||
class LarkDriveWrongRowOrColException(OpenLarkException):
|
||
code = 90212
|
||
msg = '非法的行列'
|
||
|
||
|
||
class LarkDrivePermissionFailException(OpenLarkException):
|
||
code = 90213
|
||
msg = '没有文件的权限 forbidden'
|
||
|
||
|
||
class LarkDriveSpreadSheetNotFoundException(OpenLarkException):
|
||
code = 90214
|
||
msg = 'sheet 没有找到'
|
||
|
||
|
||
class LarkDriveSheetIDNotFoundException(OpenLarkException):
|
||
code = 90215
|
||
msg = 'sheet_id 没有找到'
|
||
|
||
|
||
class LarkDriveEmptyValueException(OpenLarkException):
|
||
code = 90216
|
||
msg = '请求中有空值'
|
||
|
||
|
||
class LarkDriveTooManyRequestException(OpenLarkException):
|
||
code = 90217
|
||
msg = '请求太频繁'
|
||
|
||
|
||
class LarkDriveTimeoutException(OpenLarkException):
|
||
code = 96402
|
||
msg = '超时'
|
||
|
||
|
||
class LarkDriveProcessingException(OpenLarkException):
|
||
code = 96403
|
||
msg = '请求正在处理中'
|
||
|
||
|
||
class LarkDriveLoginRequiredException(OpenLarkException):
|
||
code = 91404
|
||
msg = '需要登录'
|
||
|
||
|
||
class LarkDriveFailedException(OpenLarkException):
|
||
code = 90301 # 91201 / 96401
|
||
msg = '失败'
|
||
|
||
|
||
class LarkDriveOutOfLimitException(OpenLarkException):
|
||
code = 91206
|
||
msg = '超过限制'
|
||
|
||
|
||
class LarkDriveDuplicateException(OpenLarkException):
|
||
code = 91207
|
||
msg = '重复记录'
|
||
|
||
|
||
class LarkDriveForbiddenException(OpenLarkException):
|
||
code = 91002 # 90303 / 91204 / 91403
|
||
msg = '没有权限'
|
||
|
||
|
||
class LarkDriveInvalidOperationException(OpenLarkException):
|
||
code = 91003
|
||
msg = '操作异常'
|
||
|
||
|
||
class LarkDriveUserNoSharePermissionException(OpenLarkException):
|
||
code = 91004
|
||
msg = '用户没有共享权限'
|
||
|
||
|
||
class LarkDriveParamErrorException(OpenLarkException):
|
||
code = 90302 # 91001 / 91202 / 91401
|
||
msg = '参数错误'
|
||
|
||
|
||
class LarkDriveMetaDeletedException(OpenLarkException):
|
||
code = 90304 # 91205
|
||
msg = '文件已删除'
|
||
|
||
|
||
class LarkDriveMetaNotExistException(OpenLarkException):
|
||
code = 90305 # 91203 / 91402
|
||
msg = '文件不存在'
|
||
|
||
|
||
class LarkDriveReviewNotPassException(OpenLarkException):
|
||
code = 90306 # 91208
|
||
msg = '评论内容审核不通过'
|
||
|
||
|
||
class LarkDriveInternalErrorException(OpenLarkException):
|
||
code = 90399 # 95299 / 96201 / 96202 / 96001 / 95201 / 95201—95209
|
||
msg = '内部错误'
|
||
|
||
|
||
# --------- 云空间
|
||
|
||
# --------- 会议室
|
||
|
||
class LarkMeetingRoomInvalidPageTokenException(OpenLarkException):
|
||
code = 100001
|
||
msg = 'page token 格式非法'
|
||
|
||
|
||
class LarkMeetingRoomInvalidFieldSelectionException(OpenLarkException):
|
||
code = 100002
|
||
msg = 'fields 中存在非法字段名'
|
||
|
||
|
||
class LarkMeetingRoomTimeFormatMustFollowRFC3339StandardException(OpenLarkException):
|
||
code = 100003
|
||
msg = '时间格式未遵循 RFC3339 标准'
|
||
|
||
|
||
class LarkMeetingRoomInvalidBuildingIDException(OpenLarkException):
|
||
code = 100004
|
||
msg = 'building ID 非法'
|
||
|
||
|
||
class LarkMeetingRoomInvalidRoomIDException(OpenLarkException):
|
||
code = 100005
|
||
msg = 'room ID 非法'
|
||
|
||
|
||
class LarkMeetingRoomInternalErrorException(OpenLarkException):
|
||
code = 105001
|
||
msg = '内部错误'
|
||
|
||
|
||
# --------- 会议室
|
||
|
||
def gen_exception(code, url, msg=''):
|
||
"""生成异常
|
||
|
||
:type code: int
|
||
:type url: str
|
||
:type msg: str
|
||
:rtype: OpenLarkException
|
||
"""
|
||
exceptions = {
|
||
# 自定义
|
||
999901: LarkInvalidArguments,
|
||
999902: LarkInvalidCallback,
|
||
999903: LarkGetAppTicketFail,
|
||
999904: LarkUnknownError,
|
||
|
||
# 审批
|
||
4002: LarkApprovalNotExistException,
|
||
4007: LarkApprovalSubscriptionExistException,
|
||
60001: LarkApprovalInvalidRequestParamsException,
|
||
60002: LarkApprovalApprovalCodeNotFoundException,
|
||
60003: LarkApprovalInstanceCodeNotFoundException,
|
||
60004: LarkApprovalUserNotFoundException,
|
||
60009: LarkApprovalForbiddenException,
|
||
60010: LarkApprovalTaskIDNotFoundException,
|
||
60005: LarkApprovalDepartmentValidFailedException,
|
||
60006: LarkApprovalFormValidFailedException,
|
||
60011: LarkApprovalNeedPayException,
|
||
60012: LarkApprovalInstanceCodeConflictException,
|
||
|
||
# 数字超级大的异常,
|
||
99991400: LarkFrequencyLimitException,
|
||
99991663: LarkInvalidTenantAccessTokenException,
|
||
99991664: LarkInvalidAppAccessTokenException,
|
||
99991665: LarkInvalidTenantCodeException,
|
||
99991666: LarkInvalidAppTicketException,
|
||
|
||
10002: LarkSendMessageFailException,
|
||
10003: LarkRequestParamsInvalidException,
|
||
10004: LarkGetUserInfoFailOrUserIDNotExistException,
|
||
10005: LarkConflictAppIDException,
|
||
10009: LarkGetOpenChatIDFailException,
|
||
10010: LarkForbiddenSendMessageException,
|
||
10012: LarkGetAppAccessTokenFailException,
|
||
10013: LarkGetTenantAccessTokenFailException,
|
||
10014: LarkGetTenantAccessTokenFailException,
|
||
10015: LarkWrongAppSecretException,
|
||
10016: LarkSendAppTicketFailException,
|
||
10019: LarkUnsupportedUrgentTypeException,
|
||
10020: LarkWrongMessageIDException,
|
||
10023: LarkForbiddenUrgentException,
|
||
10029: LarkInvalidOpenChatIDException,
|
||
10030: LarkBotNotInChatException,
|
||
10032: LarkAllOpenIDInvalidException,
|
||
10034: LarkUnsupportedCrossTenantException,
|
||
10037: LarkGetMessageIDFailException,
|
||
11000: LarkGetSSOAccessTokenFailException,
|
||
11001: LarkGetCheckSecurityTokenFailException,
|
||
11100: LarkCheckOpenChatIDFailException,
|
||
11101: LarkOpenIDNotExistException,
|
||
11102: LarkGetOpenIDFailException,
|
||
11103: LarkOpenDepartmentIDNotExistException,
|
||
11104: LarkGetOpenDepartmentIDFailException,
|
||
11105: LarkEmployeeIDNotExistException,
|
||
11106: LarkGetEmployeeIDFailException,
|
||
11200: LarkUpdateChatNameFailException,
|
||
11201: LarkBotNotGroupAdminException,
|
||
11208: LarkBotNotGroupAdminException,
|
||
11202: LarkOnlyChatAdminCanInviteUserException,
|
||
11203: LarkForbiddenBotBatchSendMessageToUserException,
|
||
11204: LarkForbiddenBotBatchSendMessageToDepartmentException,
|
||
11205: LarkAppHasNoBotException,
|
||
11206: LarkUserCannotGrantToChatAdminException,
|
||
11207: LarkAppUnavailableException,
|
||
11209: LarkAppNotExistException,
|
||
11210: LarkAppUsageInfoNotExistException,
|
||
11211: LarkInviteUserToChatInvalidParamsException,
|
||
11212: LarkRemoveUserFromChatInvalidParamsException,
|
||
11213: LarkUpdateChatInvalidParamsException,
|
||
11214: LarkUploadImageInvalidParamsException,
|
||
11215: LarkEmptyChatIDException,
|
||
11216: LarkGetChatIDFailException,
|
||
11217: LarkInviteBotToChatFailException,
|
||
11218: LarkBotInChatFullException,
|
||
11219: LarkUnsupportedChatCrossTenantException,
|
||
11220: LarkForbiddenBotDisbandChatException,
|
||
11221: LarkBotForbiddenToGetImageBelongToThemException,
|
||
11222: LarkOwnerOfBotIsNotInChatException,
|
||
11223: LarkNotOpenApplicationSendMessagePermissionException,
|
||
11224: LarkInvalidMessageIDException,
|
||
11225: LarkAppIsNotVisibleToUserException,
|
||
11226: LarkInvalidAppIDException,
|
||
11227: LarkImageKeyNotExistException,
|
||
11234: LarkBotIsNotMessageOwnerException,
|
||
11235: LarkBanAtALLException,
|
||
11236: LarkUserNotActiveException,
|
||
11237: LarkChatDisbandedException,
|
||
11238: LarkMessageTooOldException,
|
||
11239: LarkNoPermissionToGotException,
|
||
|
||
# 云空间
|
||
90201: LarkDriveWrongRequestJsonException,
|
||
90202: LarkDriveWrongRangeException,
|
||
90203: LarkDriveFailException,
|
||
90204: LarkDriveWrongRequestBodyException,
|
||
90205: LarkDriveInvalidUsersException,
|
||
90206: LarkDriveEmptySheetIDException,
|
||
90207: LarkDriveEmptySheetTitleException,
|
||
90208: LarkDriveSameSheetIDOrTitleException,
|
||
90209: LarkDriveExistSheetIDException,
|
||
90210: LarkDriveExistSheetTitleException,
|
||
90211: LarkDriveWrongSheetIDException,
|
||
90212: LarkDriveWrongRowOrColException,
|
||
90213: LarkDrivePermissionFailException,
|
||
90214: LarkDriveSpreadSheetNotFoundException,
|
||
90215: LarkDriveSheetIDNotFoundException,
|
||
90216: LarkDriveEmptyValueException,
|
||
90217: LarkDriveTooManyRequestException,
|
||
96402: LarkDriveTimeoutException,
|
||
96403: LarkDriveProcessingException,
|
||
91404: LarkDriveLoginRequiredException,
|
||
91206: LarkDriveOutOfLimitException,
|
||
91207: LarkDriveDuplicateException,
|
||
91003: LarkDriveInvalidOperationException,
|
||
91004: LarkDriveUserNoSharePermissionException,
|
||
|
||
# 会议室
|
||
100001: LarkMeetingRoomInvalidPageTokenException,
|
||
100002: LarkMeetingRoomInvalidFieldSelectionException,
|
||
100003: LarkMeetingRoomTimeFormatMustFollowRFC3339StandardException,
|
||
100004: LarkMeetingRoomInvalidBuildingIDException,
|
||
100005: LarkMeetingRoomInvalidRoomIDException,
|
||
}
|
||
|
||
if code in exceptions:
|
||
return exceptions[code](code=code, msg=msg, url=url)
|
||
if 18000 <= code <= 20000:
|
||
return LarkInternalException(code=code, msg=msg, url=url)
|
||
if code in [4002, 60002]:
|
||
return LarkApprovalNotExistException(code=code, msg=msg, url=url)
|
||
if code in [90303, 91002, 91204, 91403]:
|
||
return LarkDriveForbiddenException(code=code, msg=msg, url=url)
|
||
if code in [90301, 91201, 96401]:
|
||
return LarkDriveFailedException(code=code, msg=msg, url=url)
|
||
if code in [90302, 91001, 91202, 91401]:
|
||
return LarkDriveParamErrorException(code=code, msg=msg, url=url)
|
||
if code in [90304, 91205]:
|
||
return LarkDriveMetaDeletedException(code=code, msg=msg, url=url)
|
||
if code in [90305, 91203, 91402]:
|
||
return LarkDriveMetaNotExistException(code=code, msg=msg, url=url)
|
||
if code in [90306, 91208]:
|
||
return LarkDriveReviewNotPassException(code=code, msg=msg, url=url)
|
||
if code in [90399, 95201, 95299, 96201, 96202, 96001] or (code >= 95201 and code <= 95209):
|
||
return LarkDriveInternalErrorException(code=code, msg=msg, url=url)
|
||
return OpenLarkException(code=code, msg=msg, url=url)
|