无法在Python中获取“ channel_list”

时间:2019-12-12 04:59:19

标签: python slack slack-api

我正在使用Slack + Python,并在与Slack用户进行身份验证之后尝试获取channel_list。但是应用程序不允许他们在channel_list中选择频道。我使用python_slackclient

  

AttributeError:“ WebClient”对象没有属性“渠道”

这是代码:
松弛的api客户端

def fetch_channels():
  client = slack.WebClient(token=current_user.token) 
  channels = client.channels.list
  return channels
  ## <bound method WebClient.channels_list of <slack.web.client.WebClient object at XXXXXXX>>

  return channels

查看

<select name="channel">
  {% for channel in channels %}
  <option value="{ channel.name }">{ channel.name }</option>
  {% endfor %}
</select>

通过Channel List

1 个答案:

答案 0 :(得分:1)

出现此错误的原因是该方法的名称拼写错误。

虽然API端点称为channels.list,但WebClient类的方法称为"app*": ()=> <AppLayout/>, "pages*": ()=> <PagesLayout/> 。这也是一种方法,因此您需要使用括号将其调用。最后,它不会直接返回通道列表,而是一个将通道列表作为属性名称channels_list包含在内的字典。

顺便说一句。您可以在API端点的描述中查看所有参数以及方法返回的内容。

这是您的代码的更正版本:

channels