我正在使用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>
答案 0 :(得分:1)
出现此错误的原因是该方法的名称拼写错误。
虽然API端点称为channels.list
,但WebClient类的方法称为"app*": ()=> <AppLayout/>,
"pages*": ()=> <PagesLayout/>
。这也是一种方法,因此您需要使用括号将其调用。最后,它不会直接返回通道列表,而是一个将通道列表作为属性名称channels_list
包含在内的字典。
顺便说一句。您可以在API端点的描述中查看所有参数以及方法返回的内容。
这是您的代码的更正版本:
channels