我正在测试松弛度,并尝试从服务器向其中一个用户发送消息。我创建了一个新应用,并不断出现错误:
{
'ok': False,
'error': 'invalid_auth',
'headers': {
'Content-Type': 'application/json; charset=utf-8',
'Content-Length': '55',
'Connection': 'keep-alive',
'Date': 'Thu, 08 Nov 2018 09:54:56 GMT',
'Server': 'Apache',
'X-Slack-Exp': '1',
'X-Slack-Backend': 'h',
'x-slack-router': 'p',
'Referrer-Policy': 'no-referrer',
'Strict-Transport-Security': 'max-age=31536000; includeSubDomains;
preload ', '
X - Slack - Req - Id ': '
3 c53b943 - bebb - 47 ca - ada0 - be13e4988bdb ',
'X-XSS-Protection': '0',
'X-Content-Type-Options': 'nosniff',
'Vary': 'Accept-Encoding',
'Content-Encoding': 'gzip',
'Access-Control-Allow-Origin': '*',
'X-Via': 'haproxy-www-bw0h',
'X-Cache': 'Miss from cloudfront',
'Via': '1.1
a6c2f92bd73abb61e78964fa0cb27509.cloudfront.net(CloudFront)
',
'X-Amz-Cf-Id': 'lSiGiWlZ713eBxZpQwQR2TJ6ziYRYiykGos3eKPs4EfGOHoUBaQWjA=='
}
}
我正在使用以下代码:
import os
from slackclient import SlackClient
slack_client_id = 'I"ll not show you'
slack_client_secret = 'I"ll show it either :-) '
sc = SlackClient(client_id=slack_client_id, client_secret=slack_client_secret)
chan = sc.api_call( "channels.list", exclude_archived=1 )
想法?
答案 0 :(得分:0)
您没有正确使用SlackClient API。
对于API调用,您必须提供Slack token,而不是“客户端ID”和“客户端机密”。
示例:
import os
from slackclient import SlackClient
sc = SlackClient("xoxb-TOKEN")
chan = sc.api_call( "channels.list", exclude_archived=1 )
“客户端ID”和“客户端机密”用于使用Oauth 2.0将您的应用安装到工作区。这将为您的应用程序创建一个令牌,然后您可以使用该令牌来调用API。当然,您只需安装一次应用即可。
请注意,如果您正在使用自己的Slack工作区,则还可以直接安装应用程序,并在Slack应用程序的管理屏幕中获取令牌。
另请参阅documentation中的SlackClient,以获取有关如何正确使用它的更多示例。