LINUX.ORG.RU

[Django] Tweepy и OAuth

 


0

1

Совершенно не получается джангой авторизоваться в твиттере и авторизацию эту забить в сессию. Доки tweepy по oauth читал. На десктопном приложении всё прекрасно работает. А вот в django это перенести никак не получается...

Объясните уж, пожалуйста, совсем на пальцах. И, желательно, с наглядными примерами:)

Заранее спасибо!

Помогите, пожалуйста, понять, в чём проблема. Вот код:

#!/usr/bin/python
# -*- coding: utf-8 -*-

from django.http import HttpResponse
from django.shortcuts import render_to_response, redirect
import tweepy

CONSUMER_KEY = 'QQNHQPSoOSWzBwNWMu4G2w'
CONSUMER_SECRET = 'B97Fnf7Cf8qfU15WyP1TmTnKVBDAtBH8UGUbGgPWe0'
CALLBACK_URL = 'http://127.0.0.1:8000/'

def hello(request):
    return HttpResponse('Hello!')

def auth(request):
    # процесс авторизации
    auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET, CALLBACK_URL)
    auth_url = auth.get_authorization_url()
    return redirect(auth_url)
    verifier = request.GET.get('oauth_verifier')
    auth.get_access_token(verifier)
    request.session['key'] = auth.access_token.key.to_string()
    request.session['secret'] = auth.access_token.secret.to_string()

def main(request):
    auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
    auth.set_access_token(request.session.get('key'), request.session.get('secret'))
    api = tweepy.API(auth)

    # Если раскомментировать следующую строку, то появляется ошибка "argument 2 to map() must support iteration". Какой ещё вообще map()? 

#    user = api.get_user('4umak')
#    tweet_count = user.statuses_count
    tweet_count = request.session.get('secret')
    return render_to_response('main.html', locals())

Описание проблемы комментарием в коде. Если те строки оставить закомментированными и в переменную просто попытаться передать либо key, либо secret, то на странице оно потом отображается просто как None.

В чём может быть проблема?

mega_venik ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.