Beispiel #1
0
def weibo_history(request):
    import time
    username = request.GET.get('username')
    user = Profile.get_by_username(username=username)
    access_token = user.access_token
    client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
    client.set_access_token(access_token, expires_in=time.time() + 10000)

    user_timeline = client.get.statuses__user_timeline(access_token=access_token, uid=user.sns_id)
    data = user_timeline['statuses']
    data = [d['text'] for d in data]

    return HttpResponse(
        '\n'.join(data)
    )
Beispiel #2
0
def weibo_logout(request):
    username = request.GET.get('username', '')
    if not username:
        return HttpResponse(to_json(ret=401))

    user = Profile.get_by_username(username)

    if not user:
        return HttpResponse(to_json(ret=500))

    client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
    access_token = user.access_token
    expires_in = user.expires_in
    client.set_access_token(access_token, expires_in)

    client.get.account__end_session()
    user.logout()

    return HttpResponse(to_json(ret=200))
Beispiel #3
0
def weibo_callback(request):
    code = request.GET.get('code')
    client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
    r = client.request_access_token(code=code)
    access_token = r.access_token
    expires_in = r.expires_in
    client.set_access_token(access_token, expires_in)

    user_data = client.get.users__show(uid=r.uid, access_token=access_token)

    username = user_data['name']
    user_id = user_data['id']
    description = user_data['description']
    avatar_large = user_data['avatar_large']

    user_timeline = client.get.statuses__user_timeline(access_token=access_token, uid=r.uid)
    weibo_history = [d['text'] for d in user_timeline['statuses']]

    user = Profile.create_or_get_user(username=username, password='', access_token=access_token, centroid=[10, 10],
        sns_id=user_id, description=description, avatar=avatar_large, expires_in=expires_in,
        weibo_history=weibo_history)

    return HttpResponse(to_json(username=user.username, user_id=user.sns_id,
        description=user.description, avatar_large=user.avatar))