【问题标题】:code suddenly stops working with flask and zenora (Discord oauth2)代码突然停止使用烧瓶和 zenora (Discord oauth2)
【发布时间】:2022-10-21 01:38:26
【问题描述】:

当我去重新启动我的代码时,因为我对 index.html 文件进行了更改并且没有对 python 进行更改,我得到了错误

Traceback (most recent call last):
File "main.py", line 8, in <module>
from server import server
File "/home/runner/HangoutNet-Bot-Web/server.py", line 13, in <module>
client = APIClient(OAUTH_TOKEN, client_secret = OAUTH_CLIENT_SECRET)
File "/home/runner/HangoutNet-Bot-Web/venv/lib/python3.8/site-packages/zenora/client.py", line 57, in __init__
self._validate_token()
File "/home/runner/HangoutNet-Bot-Web/venv/lib/python3.8/site-packages/zenora/client.py", line 61, in _validate_token
self.users.get_current_user()
File "/home/runner/HangoutNet-Bot-Web/venv/lib/python3.8/site-packages/zenora/impl/userapi.py", line 55, in get_current_user
payload = Request.make_request(self._token, url, "GET")
File "/home/runner/HangoutNet-Bot-Web/venv/lib/python3.8/site-packages/zenora/request.py", line 83, in make_request
return req.execute()
File "/home/runner/HangoutNet-Bot-Web/venv/lib/python3.8/site-packages/zenora/request.py", line 74, in execute
return raise_error_or_return(r)  # type: ignore[return-value]
File "/home/runner/HangoutNet-Bot-Web/venv/lib/python3.8/site-packages/zenora/errors.py", line 49, in raise_error_or_return
for x in json_data["errors"]:
KeyError: 'errors'

我在 replit 上运行我的代码 https://pastebin.com/PE9x71Fx

以前工作正常

【问题讨论】:

  • 使用 replit.com 包选项卡修复重新安装

标签: python flask oauth discord


【解决方案1】:

您将需要从多处理中导入它:

from multiprocessing import AuthenticationError

接下来,您将需要向您的路线添加一条 try 语句,例如:

@app.route('/')
def home():
    try:
        if "token" in session:
            bearer_client = APIClient(session.get("token"), bearer=True)
            current_user = bearer_client.users.get_current_user()
            return render_template("index.html", current_user=current_user)
        return render_template("index.html")
    except AuthenticationError:
        return redirect(OAUTH_AUTH_URL)

希望这对你有帮助! 您需要做的是将他们重定向回 oauth url 以重新验证他们的令牌,因为它是无效的。

【讨论】:

    猜你喜欢
    • 2018-05-11
    • 1970-01-01
    • 1970-01-01
    • 2020-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多