2011-11-24 84 views
1

我試圖將reddit flair api的支持添加到reddit_api,但我似乎沒有得到任何地方。添加對flair的支持reddit_api

我已經添加了以下到urls.py

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

將下述reddit.py

但我的代碼似乎也沒有明顯的效果:

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的所有版主權限。我的代碼在某處出錯了嗎?

+0

您是否嘗試引發異常? –

+0

此支持以及其他flair選項已正式添加到[reddit_api](https://github.com/mellort/reddit_api)。 – bboe

回答

2

這裏是一個工作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的問題。

+0

絕對好,非常感謝您的幫助。 – bluepnume

相關問題