[英]Slack SDK for Python client.api_call method arguments syntax
我正在尝试创建一个 python 脚本来读取来自频道的所有消息(例如Retrieving conversation history )。 但是,在这个 SDK 中没有直接实现。 最接近的事情是列出所有频道。
有一种方法可以使用这种通用形式调用任何 api 方法(如下所示)。 我无法弄清楚使用此处找到的“conversations.history”方法传递 arguments 的语法。 我目前的尝试是在底部。
response = client.api_call(
api_method='chat.postMessage',
json={'channel': '#random','text': "Hello world!"}
)
##########
response = client.api_call(
api_method='conversations.history',
token=slack_token,
channel="C0XXXXXXXXX"
)
对GitHub的搜索也可能对那些有兴趣的人有所帮助。
我遇到过同样的问题。 问题是他们的示例不包含任何参数,仅包含 POST 消息的 json 正文,这可能会给读者留下所有参数 go 到json=
的印象。
你需要的是:
response = client.api_call(
api_method='conversations.history',
params={'token': slack_token,
'channel': "C0XXXXXXXXX"}
)
您需要将帖子正文传递为json=
并将参数查询为params=
我收到以下错误:
The request to the Slack API failed. (url: https://www.slack.com/api/conversations.members)
The server responded with: {'ok': False, 'error': 'invalid_arguments', 'response_metadata': {'messages': ['[ERROR] missing required field: channel']}}
这是base_client.py https://github.com/slackapi/python-slack-sdk/blob/6ab8bd2fcdcabb55e722ee520e6946c5b0b43f1d/slack_sdk/web/base_client.py#L93中的api_call定义
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.