我试图在reddit_api中添加对reddit flair 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')我没有得到一个错误,但是用户flair没有添加到reddit上。reddit_api的其他功能非常适合我,而且我在reddit上拥有所有正确的版主权限。我的代码是不是出了什么问题?
发布于 2011-11-29 19:35:41
下面是一个有效的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 (“请登录来做这件事”)。specifically states接口,用户的modhash是必需的。所以我把self.modhash改成了self.user.modhash。
第二个错误是.error.NO_USER.field-name。只需将user参数更改为name即可。
https://stackoverflow.com/questions/8263581
复制相似问题