我正在尝试在python 3.8中访问Slack,但是我无法通过第一步。这是我的代码:
import slack
slack_token="xoxp-*******-*******-*******-*******"
client = slack.WebClient(slack_token)
client.chat_postMessage(
channel="XXXXXXXXXX",
text="Hello from your app! :tada:"
)
print('hello')
这是错误:
追踪(最近通话):_wrap_create_connection中的第936行,文件“ /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/aiohttp/connector.py”,第936行return await self._loop.create_connection(* args,** kwargs)#类型:忽略#noqa在create_connection中的文件“ /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/asyncio/base_events.py”,行1046传输,协议=等待自身._create_connection_transport(_create_connection_transport中的文件“ /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/asyncio/base_events.py”,行1076等待服务员文件“ /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/asyncio/sslproto.py”,行529,在data_received中ssldata,appdata = self._sslpipe.feed_ssldata(数据)feed_ssldata中的文件“ /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/asyncio/sslproto.py”,行189self._sslobj.do_handshake()在do_handshake中,文件“ /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/ssl.py”,第944行self._sslobj.do_handshake()ssl.SSLCertVerificationError:[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败:无法获取本地发行者证书(_ssl.c:1108)
pip3 freeze
aiohttp==3.6.2
async-timeout==3.0.1
attrs==19.3.0
certifi==2019.11.28
chardet==3.0.4
idna==2.8
multidict==4.7.4
pipenv==2018.11.26
slack==0.0.2
slackclient==2.5.0
virtualenv==16.7.9
virtualenv-clone==0.5.3
yarl==1.4.2
相信您在WebClient
类中使用了不正确的令牌。尝试在WebClient
中使用Bot用户访问令牌:
slack_token="xoxb-*******-*******-******-******"
client = slack.WebClient(slack_token)
[OAuth令牌有两种类型:
xoxp-
xoxb-
注意:您可以从URL-https://api.slack.com/apps/{yourappid}/oauth?
访问您的应用/机器人的令牌。
Slack OAuth参考-https://api.slack.com/docs/oauth