Python Traceback:键错误

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

我一直在学习如何将Python和Slack用于我的课程项目。我特别致力于松弛线程,所以我可以直接发信息给全班同学。

import os
from slackclient import SlackClient

slack_token = os.environ["xoxb-restofapitoken"]
sc = SlackClient(slack_token)

sc.api_call(
"chat.postMessage",
channel="#general",
text="Hello from Python! :tada:",
thread_ts="1476746830.000003",
reply_broadcast=True

)

当我运行代码时,下面的错误显示。

Traceback (most recent call last):
File "chat1.py", line 4, in <module>
slack_token = os.environ["xoxb-restofapitoken"]
File "/home/ubuntu/starterbot/lib/python2.7/UserDict.py", line 40, in __getitem__
  raise KeyError(key)
KeyError: 'xoxb-restofapitoken'

我究竟做错了什么?

python python-2.7 slack slack-api
1个回答
1
投票

我之前遇到过类似的错误。您的代码没有任何问题。但是,当你使用测试令牌时,请关注Slack的guideline,“将令牌作为环境变量传递”。

将代码更改为:

import os
from slackclient import SlackClient

slack_token = os.environ["SLACK_BOT_TOKEN"]
sc = SlackClient(slack_token)

sc.api_call(
"chat.postMessage",
channel="#general",
text="Hello from Python! :tada:",
thread_ts="1476746830.000003",
reply_broadcast=True

)

运行它:

SLACK_BOT_TOKEN="xoxb-restofapitoken" python myapp.py

你应该好好去。

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