gpt4 book ai didi

python - 向 reddit api 添加对 flair 的支持

转载 作者:行者123 更新时间:2023-12-01 06:05:23 24 4
gpt4 key购买 nike

我正在尝试添加对 reddit flair api 的支持至reddit_api ,但我似乎没有取得任何进展。

我已将以下内容添加到urls.py:

  ("api/", {
...
"flair": "flair/"
}),

以及以下内容到reddit.py:

@require_login
def set_flair(self, subreddit, user, text='', css_class=''):
"""Set flair of user in given subreddit"""
url = urls["flair"]
params = {'r': subreddit,
'user': user,
'text': text,
'css_class': css_class,
'uh': self.modhash}
return self._request_json(url, params)

但是我的代码似乎没有明显的效果:

import reddit

r = reddit.Reddit(user_agent='User rating modifier')
r.login(user='xxxx', password='xxxx')
r.set_flair('subreddit', 'username', 'textflair', 'cssclass')

我没有收到错误,但 Reddit 上未添加用户天赋。 reddit_api 的其他功能非常适合我,而且我在 reddit 上拥有所有正确的版主权限。我的代码有什么地方出错了吗?

最佳答案

这是一个有效的 set_flair 函数:

@require_login
def set_flair(self, subreddit, user, text='', css_class=''):
"""Set flair of user in given subreddit"""
url = urls["flair"]
params = {'r': subreddit,
'name': user,
'text': text,
'css_class': css_class,
'uh': self.user.modhash}
return self._request_json(url, params)

运行您的代码后遇到的第一个错误是.error.USER_REQUIRED(“请登录才能执行此操作”)。 API specifically states需要该用户的 modhash。因此,我将 self.modhash 更改为 self.user.modhash

第二个错误是.error.NO_USER.field-name。只需将 user 参数更改为 name 即可。

关于python - 向 reddit api 添加对 flair 的支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8263581/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com