slack api 构建 Slack 机器人时出现无效身份验证错误

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

我正在尝试编写一个 python 脚本来帮助我自动化敏捷环境,但每次我尝试运行代码时都会收到此错误。 ” slack_sdk.errors.SlackApiError:对 Slack API 的请求失败。 服务器响应:{'ok': False, 'error': 'invalid_auth'} ” 这是我的代码

import slack
import os
from pathlib import Path
from dotenv import load_dotenv


env_path = Path('D:\Work\FinHive\Mini Youssef')/ 'Env.env'
load_dotenv(dotenv_path=env_path)
client = slack.WebClient(token=os.environ['SLACK_TOKEN'])

client.chat_postMessage(channel='#test', text="this works")
python-3.x slack slack-api
3个回答
0
投票

您似乎已经为应用程序设置了令牌,但请仔细检查环境变量中的值是否与您的 Slack 应用程序中的值匹配。

如果值匹配,那么下一个罪魁祸首将是允许您的机器人在频道上发帖。您可以在 postMessage 的 API 文档中看到,您的机器人需要 chat:write 范围,从您的应用程序页面 -> OAuth 和权限 -> 向下滚动到范围。

最后,确保机器人用户位于#test 频道中。您可能需要向您的机器人授予频道:加入范围,并邀请他们参加#test。


0
投票

您的机器人是作为新应用程序还是经典应用程序创建的? 您在应用程序中使用哪种令牌(xoxb-* 或 xoxp-*)? 我建议验证您的令牌https://api.slack.com/methods/chat.postMessage/test


0
投票

即使您的令牌有效/正确,如果您设置了允许的 IP 地址范围并且请求来自不允许的 IP 地址,Slack 也会返回

invalid_auth
。因此,您可能需要简单地调整允许的 IP 地址范围。 (IMO,在这种情况下的
invalid_auth
响应令人困惑/误导,但事实就是如此。)

请参阅此处的 Slack 文档:https://api.slack.com/authentication/best-practices#ip_allowlisting

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