Python 3&Slack Client:ssl.SSLCertVerificationError

问题描述 投票:1回答:1

我正在尝试在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)

venv配置:

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
python-3.x slack
1个回答
0
投票

相信您在WebClient类中使用了不正确的令牌。尝试在WebClient中使用Bot用户访问令牌:

slack_token="xoxb-*******-*******-******-******"
client = slack.WebClient(slack_token)

[OAuth令牌有两种类型:

  1. OAuth访问令牌-以[开头 xoxp-
  2. Bot用户OAuth访问令牌-以[开始 xoxb-

注意:您可以从URL-https://api.slack.com/apps/{yourappid}/oauth?访问您的应用/机器人的令牌。

Slack OAuth参考-https://api.slack.com/docs/oauth

© www.soinside.com 2019 - 2024. All rights reserved.