使用 python 3.9.7 进行 Slack API SSL 证书验证时遇到问题

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

我目前正在为我创建的 Slack 工作区编写一个简单的聊天机器人应用程序。我通过以下链接在 YouTube 上遵循了简单的教程:https://www.youtube.com/watch?v=KJ5bFv-IRFM&ab_channel=TechWithTim

基本上,这是我遵循的步骤:

  1. 创建工作区
  2. 转到 slack api 网站并单击右上角的“您的应用程序”并在各自的工作区中创建应用程序
  3. 添加聊天:为机器人令牌范围写入 OAuth 范围
  4. 安装到工作区并复制相应的工作区令牌
  5. 在 VSCode 中创建两个新文件:bot.py 和 .env
  6. 在 .env 中,将复制的 slack 令牌添加到变量中
  7. 在 bot.py 文件中导入库、模块、API 等(下面提供代码)
  8. 将应用程序连接到“聊天机器人”频道

这是我的 bot.py 文件的代码:

import os
from pathlib import Path
from dotenv import load_dotenv # loads environment variable file

env_path = Path('.') / '.env' # tells the system where our environment file is located
load_dotenv(dotenv_path=env_path)

client = slack.WebClient(token=os.environ['SLACK_TOKEN']) # didn't get an autocomplete for WebClient 
client.chat_postMessage(channel='#chat-bot', text="Hello World")

代码到 .env 文件,该文件与我的 bot.py 文件位于同一目录中:

SLACK_TOKEN= (my slack token that I copied from settings)

当我输入

client.chat_postMessage(channel='#chat-bot', text="Hello World")
行代码时,问题就出现了。我收到一条错误消息,告诉我 SSL 证书验证失败。具体来说,生成的错误状态为:
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)>

我已经尝试过一些发布的解决方案,例如......

  1. 尝试安装 /Applications/Python\ 3.9/Install\ Certificates.command 但它告诉我要求已经满足
  2. 将 webhook 降级到本文引用的版本 0.47.0:https://github.com/slackapi/python-slack-sdk/issues/334 我无法找到此问题的更多解决方案。

如果您碰巧知道可能导致问题的原因,那么任何见解都会有所帮助。仅供参考,我正在使用 python3 bot.py 运行脚本 bot.py。

python ssl slack-api
1个回答
0
投票

运行此命令 这下载了必要的证书

open /Applications/Python\ 3.7/Install\ Certificates.command
© www.soinside.com 2019 - 2024. All rights reserved.