Добавление поддержки таланта в reddit_api

1

Я пытаюсь добавить поддержку 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. Я где-то ошибся с моим кодом?

  • 0
    Вы пытались поднять исключение?
  • 0
    Эта поддержка вместе с другими опциями была добавлена в reddit_api .
Теги:
reddit

1 ответ

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 конкретно заявляет, что пользовательский modhash требуется. Поэтому я изменил self.modhash на self.user.modhash.

Вторая ошибка: .error.NO_USER.field-name. И это было только вопросом изменения user параметра для name.

  • 0
    Абсолютно здорово, большое спасибо за вашу помощь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню