def oauth_redirect(request): code = request.REQUEST.get('code', None) if code == None: # need to log return HttpResponse('code is not exist') url_params = { 'client_id':key_api_weibo, 'client_secret':key_secret_weibo, 'grant_type':'authorization_code', 'redirect_uri':url_redirect_weibo, 'code':str(code), } url_param = urllib.urlencode(url_params) j = urllib2_post_read_json(url_oauth_redirect_weibo, url_param) # user may reject the auth. print j access_token = j['access_token'] remind_in = j['remind_in'] expires_in = j['expires_in'] uid = j['uid'] print access_token, remind_in, expires_in ## save it into database, also need to check refresh r = user_timeline(access_token, uid, 50, 1) ##### status = str('this is only a test, 忽略他') pic_name = 'a.png' pic_path = './weibo/a.png' lat = 50 lng = 50 r = photo_upload(access_token, status, pic_name, pic_path, lat, lng) return HttpResponse(r)
def get_photo(aid, count, user_id, access_token): url_params = { 'method':'photos.get', 'v':'1.0', 'uid':str(user_id), 'access_token':str(access_token), 'aid':str(aid), 'format':'JSON', #'page':'100', 'count':str(count), } sig = get_sig(url_params) url_params['sig'] = sig url_param = urllib.urlencode(url_params) j = urllib2_post_read_json(url_api_renren, url_param) print len(j), count return j
def get_album(user_id, access_token): url_params = { 'method':'photos.getAlbums', 'v':'1.0', 'uid':str(user_id), 'access_token':str(access_token), 'format':'JSON', } sig = get_sig(url_params) url_params['sig'] = sig url_param = urllib.urlencode(url_params) j = urllib2_post_read_json(url_api_renren, url_param) l = [] for album in j: update_time = album['update_time'] name = album['name'] aid = album['aid'] size = album['size'] photo_lists = get_photo(aid, size, user_id, access_token) l.append(photo_lists) return l