Slack 建议从
files_upload()
迁移到 files_upload_v2()
,以确保大文件的稳定性。但是,此更改意味着您无法再使用 client.files_upload_v2(channel='@user.name', file=file)
之类的内容。您只能发送到通道 ID 引用的通道。有没有办法使用 v2 功能以 DM 形式发送文件(会出现在机器人的消息频道中)? v2 的详细信息解释于here。
from slack_sdk import WebClient
token = MY_TOKEN
client = WebClient(token=token)
# works
response = client.files_upload(channels="@user.name", file="myfile.csv")
# fails
response = client.files_upload_v2(channels="@user.name", file="myfile.csv")
错误:
SlackApiError: The request to the Slack API failed. (url: https://www.slack.com/api/files.completeUploadExternal)
The server responded with: {'ok': False, 'error': 'invalid_arguments', 'response_metadata': {'messages': ['[ERROR] input must match regex pattern: ^[CGD][A-Z0-9]{8,}$ [json-pointer:/channel_id]']}}
您没有正确调用用户名,请尝试
<@{username}>