制作Reddit机器人时出现“invalid_grant error processing request”错误

9
我正在制作一个Reddit机器人,该机器人会回复特定评论。
但是我遇到了这个错误: invalid_grant error processing request
我找不到解决方法。
以下是我的代码,我使用Python。
import praw
import time
import config

def login():
    r = praw.Reddit(user_agent = "test bot",
                username = config.username,
                password = config.password,
                client_id = config.client_id,
                client_secret = config.client_secret)
    print("logged in")
    return r


cache = []

def run_bot(r):
    subreddit = r.subreddit("Test")
    comments = subreddit.get_comments(limit=25)
    for comment in comments:
        comment_text = comment.body.lower()
        if "xD" in comment_text and comment.id not in cache:
            comment.reply("xD")
            cache.append(comment.id)

while True:
    r = login()
    run_bot(r)
    time.sleep(5)

追踪回溯:

    logged in
Traceback (most recent call last):
  File "xdbot.py", line 28, in <module>
    run_bot(r)
  File "xdbot.py", line 19, in run_bot
    comments = subreddit.get_comments(limit=25)
  File "D:\Programming\Phyton\lib\site-packages\praw\models\reddit\base.py", line 31, in __getattr__
    self._fetch()
  File "D:\Programming\Phyton\lib\site-packages\praw\models\reddit\base.py", line 66, in _fetch
    params=self._info_params)
  File "D:\Programming\Phyton\lib\site-packages\praw\reddit.py", line 367, in get
    data = self.request('GET', path, params=params)
  File "D:\Programming\Phyton\lib\site-packages\praw\reddit.py", line 451, in request
    params=params)
  File "D:\Programming\Phyton\lib\site-packages\prawcore\sessions.py", line 174, in request
    params=params, url=url)
  File "D:\Programming\Phyton\lib\site-packages\prawcore\sessions.py", line 108, in _request_with_retries
    data, files, json, method, params, retries, url)
  File "D:\Programming\Phyton\lib\site-packages\prawcore\sessions.py", line 93, in _make_request
    params=params)
  File "D:\Programming\Phyton\lib\site-packages\prawcore\rate_limit.py", line 32, in call
    kwargs['headers'] = set_header_callback()
  File "D:\Programming\Phyton\lib\site-packages\prawcore\sessions.py", line 134, in _set_header_callback
    self._authorizer.refresh()
  File "D:\Programming\Phyton\lib\site-packages\prawcore\auth.py", line 328, in refresh
    password=self._password)
  File "D:\Programming\Phyton\lib\site-packages\prawcore\auth.py", line 142, in _request_token
    payload.get('error_description'))
prawcore.exceptions.OAuthException: invalid_grant error processing request

1
请添加您的回溯信息。 - Gerrat
我添加了回溯信息。 - user6819496
如果您在登录后运行print(r.user.me()),它是否返回与您的config.username相同的内容? - Gerrat
1
它并没有打印任何东西,我仍然得到相同的错误。 - user6819496
5个回答

9

请按照这个提示,仔细核对你的凭证。

请记住,用户名是你的Reddit账户名,而不是机器人的名称。


2
另一个可能性是您的机器人由于登录尝试次数过多而被暂停了。
通过手动尝试登录到Reddit并检查是否被阻止来轻松检查此问题。
"最初的回答": 另一种可能是你的机器人因为尝试登录次数过多而被暂停了。你可以尝试手动登录Reddit并检查是否被阻止来确认这个问题。

2

0
此外,您的代码不会起作用,因为您使用了“lower”命令,而在要比较的字符串中有一个大写字母。

0
今天我遇到了这个错误,原因是我在Reddit账户上启用了双重身份验证。
移除双重身份验证后,我的机器人/应用程序又可以正常运行了。
你也可以参考上面的建议来解决这个问题:https://dev59.com/8qLia4cB1Zd3GeqPptzQ#71905094

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接