繁体   English   中英

Slack SDK for Python client.api_call 方法 arguments 语法

[英]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的搜索也可能对那些有兴趣的人有所帮助。

您可以使用以下方法:

client.conversations_history(
    channel=CHANNEL,
    limit=MESSAGES_PER_PAGE,
)

这在此处的另一个答案中进行解释。

我遇到过同样的问题。 问题是他们的示例不包含任何参数,仅包含 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM