Использование django-syncr с твиттером - PullRequest
1 голос
/ 18 октября 2010

Я хотел добавить твиттер в свое приложение. Итак, я скачал python-twitter (с python-oauth) и django-syncr. Установлено все и что сейчас? В моем основном виде я хотел выполнить синхронизацию Twitter. Итак, изучая исходные коды пакетов и документацию Я рассчитал этот порядок:

t = TwitterSyncr('name', 'pass') #: create TwitterSyncr for my user
t.syncUser('name') #: get info for user from twitter but why give name again ?
t.syncTwitterUserTweets('name') : #name again ?!

Это не работает. Я получаю HTTP Error 401 - Нет авторизации, но имя и пароль верны. Как я должен использовать это тогда? Нужен ли мне ключ API от Twitter? Во-вторых, что происходит в этом коде шаг за шагом? Когда создается моя модель django для TweetUser в рамках приватных методов? И нужно ли создавать модель TweetSyncr каждый раз, когда я хочу синхронизировать свою модель с пользователем твитера? Пожалуйста, помогите.

Ссылка на автора краткой инструкции: http://jesselegg.com/archives/2008/02/19/django-syncr-synchronize-django-web/

Traceback:
File "/home/django/core/handlers/base.py" in get_response
  92.                 response = callback(request, *callback_args, **callback_kwargs)
File "/home/views.py" in landing
  27.     t.syncUser('username')
File "/home/syncr/tweet.py" in syncUser
  53.         user_obj = self._syncTwitterUser(self._getUser(user))
File "/home/syncr/tweet.py" in _getUser
  26.             tw_user = self.api.GetUser(user)
File "build/bdist.linux-x86_64/egg/twitter.py" in GetUser
  1633.     json = self._FetchUrl(url)
File "build/bdist.linux-x86_64/egg/twitter.py" in _FetchUrl
  2032.         url_data = opener.open(url, encoded_post_data).read()
File "/bin/python-2.6.1/lib/python2.6/urllib2.py" in open
  389.             response = meth(req, response)
File "/bin/python-2.6.1/lib/python2.6/urllib2.py" in http_response
  502.                 'http', request, response, code, msg, hdrs)
File "/bin/python-2.6.1/lib/python2.6/urllib2.py" in error
  427.             return self._call_chain(*args)
File "/bin/python-2.6.1/lib/python2.6/urllib2.py" in _call_chain
  361.             result = func(*args)
File "/bin/python-2.6.1/lib/python2.6/urllib2.py" in http_error_default
  510.         raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)

Exception Type: HTTPError at /
Exception Value:

1 Ответ

2 голосов
/ 18 октября 2010

Я только что добавил инструкцию, как обращаться с django-syncr и oauth в моем блоге:

http://fromzerotocodehero.blogspot.com/2010/10/synchronising-django-with-twitter-using.html

В основном вам нужно обновить python-twitter до версии 0.9, а затем выполнитьнекоторые улучшения в __init__ методе syncr.api.tweet.И вам нужно зарегистрировать новое приложение и получить ключи API.

...