53 lines
1.6 KiB
Python
53 lines
1.6 KiB
Python
# coding: utf-8
|
|
|
|
from __future__ import absolute_import, division, print_function, unicode_literals
|
|
|
|
from typing import TYPE_CHECKING
|
|
|
|
from six import string_types
|
|
|
|
from utils.feishu.dt_drive import DriveComment
|
|
from utils.feishu.dt_help import make_datatype
|
|
from utils.feishu.exception import LarkInvalidArguments
|
|
|
|
if TYPE_CHECKING:
|
|
from utils.feishu.api import OpenLark
|
|
|
|
|
|
class APIDriveCommentMixin(object):
|
|
def add_drive_comment(self, user_access_token, file_token, content):
|
|
"""添加全文评论
|
|
|
|
:type self: OpenLark
|
|
:param user_access_token: user_access_token
|
|
:type user_access_token: str
|
|
:param file_token: 文件的 token
|
|
:type file_token: str
|
|
:param content: 评论内容
|
|
:type content: str
|
|
:return: 评论对象
|
|
:rtype: DriveComment
|
|
|
|
该接口用于根据 file_token 给文档添加全文评论
|
|
|
|
https://open.feishu.cn/document/ukTMukTMukTM/ucDN4UjL3QDO14yN0gTN
|
|
"""
|
|
if not content or not isinstance(content, string_types):
|
|
raise LarkInvalidArguments(msg='content empty')
|
|
|
|
content = content. \
|
|
replace('<', '<'). \
|
|
replace('>', '>'). \
|
|
replace('&', '&'). \
|
|
replace('\'', '''). \
|
|
replace('"', '"')
|
|
|
|
url = self._gen_request_url('/open-apis/comment/add_whole')
|
|
body = {
|
|
'type': 'doc',
|
|
'token': file_token,
|
|
'content': content
|
|
}
|
|
res = self._post(url, body=body, auth_token=user_access_token)
|
|
return make_datatype(DriveComment, res['data'])
|