本文整理汇总了Python中weibo.APIClient.set_access_token方法的典型用法代码示例。如果您正苦于以下问题:Python APIClient.set_access_token方法的具体用法?Python APIClient.set_access_token怎么用?Python APIClient.set_access_token使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类weibo.APIClient
的用法示例。
在下文中一共展示了APIClient.set_access_token方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: register
# 需要导入模块: from weibo import APIClient [as 别名]
# 或者: from weibo.APIClient import set_access_token [as 别名]
def register(request):
if 'code' in request.GET:
code = request.GET.get('code')
client = APIClient(app_key=settings.WEIBO_APP_KEY, app_secret=settings.WEIBO_APP_SECRET, redirect_uri=settings.WEIBO_REDIRECT)
r = client.request_access_token(code)
access_token = r.access_token
expires_in = r.expires_in
uid = r.uid
client.set_access_token(access_token,expires_in)
user = client.users.show.get(uid=uid)
username = user.name
avatar = user.profile_image_url
if UserenaSignup.objects.filter(user__username__iexact=username):
pass
else:
new_user = UserenaSignup.objects.create_user(username,
username,
'',
uid,
not userena_settings.USERENA_ACTIVATION_REQUIRED,
userena_settings.USERENA_ACTIVATION_REQUIRED)
myProfile = MyProfile.objects.get(user=new_user)
myProfile.socialImageUrl = avatar
myProfile.save()
user = authenticate(username=username, password=uid)
login(request, user)
return HttpResponseRedirect('/')
示例2: __init__
# 需要导入模块: from weibo import APIClient [as 别名]
# 或者: from weibo.APIClient import set_access_token [as 别名]
class Weibo:
def __init__(self, api_info):
self.client = APIClient(app_key = api_info['app_key'], app_secret = api_info['app_secret'])
self.client.set_access_token(api_info['access_token'], api_info['expires_in'])
def get_user_weibo(self, username, page_no, count = 100):
return self.client.get.statuses__user_timeline(uid = username, count = count, page = page_no)
def create_weibo(self, text):
return self.client.post.statuses__update(status = text)
def create_weibo_with_pic(self, text, pic):
return self.client.upload.statuses__upload(status = text, pic = pic)
def repost_weibo(self, id, text, is_comment = 0):
return self.client.post.statuses__repost(id = id, status = text, is_comment = is_comment)
def follow_you(self, uid):
return self.friendships__create(uid = uid)
def comments_show(self, id):
''' list all the reply of one weibo '''
return self.client.get.comments__show(id = id)
def comments_create(self, id, text):
return self.client.post.comments__create(id = id, comment = text)
def comments_reply(self, id, cid, text):
return self.client.post.comments__reply(id = id , cid = cid, comment = text)
示例3: weibo_check
# 需要导入模块: from weibo import APIClient [as 别名]
# 或者: from weibo.APIClient import set_access_token [as 别名]
def weibo_check(request):
code = request.GET.get('code', None)
now = datetime.datetime.now()
if code:
client = APIClient(app_key=settings.WEIBO_APP_KEY, app_secret=settings.WEIBO_APP_SERCET, redirect_uri=settings.WEIBO_CALLBACK_URL)
r = client.request_access_token(code)
access_token = r.access_token # 返回的token,类似abc123xyz456
expires_in = r.expires_in # token过期的UNIX时间:http://zh.wikipedia.org/wiki/UNIX%E6%97%B6%E9%97%B4
uid = r.uid
# 在此可保存access token
client.set_access_token(access_token, expires_in)
request.session['access_token'] = access_token
request.session['expires_in'] = expires_in
request.session['uid'] = uid
# http://open.weibo.com/wiki/2/users/show
data=client.user.show.get(uid)
user=User(username=uid)
user.save()
name=data.get('name')
return HttpResponseRedirect('/verification/index/?username='+name)
# user = SupserWeibo(access_token=access_token, uid=uid, request=request) # 实例化超级微博类
'''
# 更新数据库
if MyUser.objects.filter(uid=uid).exists():
MyUser.objects.filter(uid=uid).update(last_login=now)
user.Login() # 登陆
return HttpResponseRedirect('/')#返回主页
else:
# 创建用户并登陆
u_id = user.createUser()
if u_id:
return HttpResponseRedirect('/manage/user/%s/' %u_id)
'''
return HttpResponse('/404/') #未获得新浪微博返回的CODE
示例4: morefriends
# 需要导入模块: from weibo import APIClient [as 别名]
# 或者: from weibo.APIClient import set_access_token [as 别名]
def morefriends(request):
weibo_client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
if request.COOKIES.has_key('access_token') is False:
DEBUG_TRACE.debug("Has no acccess token")
return HttpResponseRedirect(CALLBACK_URL)
else:
access_token = request.COOKIES['access_token']
expires_in = request.COOKIES['expires_in']
uid = request.COOKIES['uid']
friend_cursor = request.GET['friend_cursor']
weibo_client.set_access_token(access_token, expires_in)
friend_info = weibo_client.get.friendships__friends(uid=uid, count=20, cursor=friend_cursor)
friend_list = getFriendList(friend_info)
t = Template("""
{% for friend in friend_list %}
<li><a href="photogallary?query_screen_name={{ friend.screen_name }}">
<img width="80" height="80" src="{{ friend.avatar_large }}"></img>
<h3>{{ friend.screen_name }}</h3>
<p>{{ friend.description }}</p>
</a></li>
{% endfor %} """)
c = Context({'friend_list': friend_list})
html = t.render(c)
response = HttpResponse(html)
return response
示例5: weibo_check
# 需要导入模块: from weibo import APIClient [as 别名]
# 或者: from weibo.APIClient import set_access_token [as 别名]
def weibo_check(request):
code = request.GET.get('code', None)
now = datetime.datetime.now()
if code:
client = APIClient(app_key=settings.APP_KEY, app_secret=settings.APP_SERCET, redirect_uri=settings.CALLBACK_URL)
r = client.request_access_token(code)
access_token = r.access_token # 返回的token,类似abc123xyz456
expires_in = r.expires_in # token过期的UNIX时间:http://zh.wikipedia.org/wiki/UNIX%E6%97%B6%E9%97%B4
uid = r.uid
# 在此可保存access token
client.set_access_token(access_token, expires_in)
request.session['access_token'] = access_token
request.session['expires_in'] = expires_in
request.session['uid'] = uid
user = SupserWeibo(access_token=access_token, uid=uid, request=request) # 实例化超级微博类
# 更新数据库
if MyUser.objects.filter(uid=uid).exists():
MyUser.objects.filter(uid=uid).update(last_login=now)
user.Login() # 登陆
return HttpResponseRedirect('/')
else:
# 创建用户并登陆
u_id = user.createUser()
if u_id:
return HttpResponseRedirect('/manage/user/%s/' %u_id)
return HttpResponse('/404/')
示例6: get
# 需要导入模块: from weibo import APIClient [as 别名]
# 或者: from weibo.APIClient import set_access_token [as 别名]
def get(self):
query = db.GqlQuery("SELECT * FROM OauthUser")
if query.count() > 0:
for result in query:
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET,
redirect_uri=CALLBACK_URL)
client.set_access_token(result.sina_access_token, result.sina_expires)
for god in result.god_name:
ttl = client.statuses.user_timeline.get(screen_name=god.god_name, since_id=god.sina_last_id)
tweet = ""
if len(ttl['statuses']) > 0:
god.sina_last_id=ttl['statuses'][0]['idstr']
god.put()
for res in ttl['statuses']:
tweet = tweet + res.text + "NEXT"
if len(tweet) > 0:
message = mail.EmailMessage()
message.subject = god.god_name
message.sender = Mail_from
message.to = Mail_to
message.body = """
%s
""" % tweet
message.send()
示例7: morepictures
# 需要导入模块: from weibo import APIClient [as 别名]
# 或者: from weibo.APIClient import set_access_token [as 别名]
def morepictures(request):
weibo_client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
if request.COOKIES.has_key('access_token') is False:
DEBUG_TRACE.debug("Has no acccess token")
return HttpResponseRedirect(CALLBACK_URL)
else:
access_token = request.COOKIES['access_token']
expires_in = request.COOKIES['expires_in']
uid = request.COOKIES['uid']
page = request.GET['page']
name = request.GET['name']
weibo_client.set_access_token(access_token, expires_in)
user_info = weibo_client.get.users__show(screen_name=name)
screen_name = user_info.screen_name
avatar_large = user_info.avatar_large
photo_list = getPhotoList(weibo_client, screen_name, 5, page)
t = Template("""
{% for photo in photo_list %}
<li data-icon="false"><a href="">
<div class="my-li-thumb">
<img width="50" height="50" src="{{ avatar_large }}" />
</div>
<h3 class="my-li-name">{{ screen_name }}</h3>
<p class="my-li-text">{{ photo.text }}</p>
<div class="my-li-content">
<img class="my-li-content-image" src="{{ photo.image }}" />
</div>
</a></li>
{% endfor %}""")
c = Context({'photo_list': photo_list, 'screen_name': screen_name, 'avatar_large': avatar_large})
html = t.render(c)
response = HttpResponse(html)
return response
示例8: get_weibo_by_uid
# 需要导入模块: from weibo import APIClient [as 别名]
# 或者: from weibo.APIClient import set_access_token [as 别名]
def get_weibo_by_uid(uid, access_token, expires_in):
print uid
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
client.set_access_token(access_token, expires_in)
result = client.statuses.user_timeline.get(uid=uid,count=200)
weibo = result.get("statuses")
return weibo
示例9: callback
# 需要导入模块: from weibo import APIClient [as 别名]
# 或者: from weibo.APIClient import set_access_token [as 别名]
def callback():
code = request.args.get('code')
if code is not None:
client = APIClient(
app_key = current_app.config['APP_KEY'],
app_secret = current_app.config['APP_SECRET'],
redirect_uri = current_app.config['CALLBACK_URL'])
r = client.request_access_token(code)
access_token = r.access_token
expires_in = r.expires_in
uid = r.uid
client.set_access_token(access_token, expires_in)
session['access_token'] = access_token
user = User.query.filter_by(uuid = uid).first()
if user is not None:
login_user(user)
return redirect(url_for('main.index'))
else:
u = client.users.show.get(uid = uid)
user = User(
uuid = uid,
name = u.get('screen_name'),
location = u.get('location'),
description = u.get('description'),
avatar = u.get('profile_image_url'),
url = u.get('domain'),
gender = u.get('gender')
)
db.session.add(user)
login_user(user)
return redirect(url_for('main.index'))
else:
return redirect(url_for('main.index'))
示例10: weibo_login
# 需要导入模块: from weibo import APIClient [as 别名]
# 或者: from weibo.APIClient import set_access_token [as 别名]
def weibo_login():
app_key = current_app.config['APP_KEY']
app_secret = current_app.config['APP_SECRET']
callback_url = current_app.config['CALLBACK_URL']
client = APIClient(app_key=app_key, app_secret=app_secret, redirect_uri=callback_url)
code = request.args.get('code')
try:
r = client.request_access_token(code)
except APIError:
flash('Invalid weibo code. Please Try again.')
return redirect(request.args.get('next') or url_for('auth.login'))
access_token = r.access_token
expires_in = r.expires_in
client.set_access_token(access_token, expires_in)
uid = r.get('uid')
if uid is None:
flash('Not found uid of weibo')
return redirect(request.args.get('next') or url_for('auth.login'))
screen_name = client.statuses.user_timeline.get().get('statuses')[0].get('user').get('screen_name')
user = User.query.filter_by(weibo_uid=uid).first()
if user is None:
user = User(weibo_uid=uid, username=screen_name, confirmed=True)
user.upgrade_bind_mode()
db.session.add(user)
db.session.commit()
login_user(user) # the second argument is 'remember me'
return redirect(request.args.get('next') or url_for('main.index'))
示例11: WebOAuthHandler
# 需要导入模块: from weibo import APIClient [as 别名]
# 或者: from weibo.APIClient import set_access_token [as 别名]
class WebOAuthHandler():
"""继承自OAuthHandler,提供Web应用方法。"""
def __init__(self, callback_url, access_token=None, expires_in=None):
self.client = APIClient(app_key=APP_KEY,
app_secret=APP_SECRET, redirect_uri=callback_url)
if access_token is not None:
logging.info("access_token: %s, expire: %s" % (access_token,
expires_in))
self.client.set_access_token(str(access_token), str(expires_in))
def get_authorize_url(self):
return self.client.get_authorize_url()
def update(self, message):
"""添加一条新微博信息"""
message = message.encode("utf-8")
self.client.post.statuses__update(status=message)
def upload(self, filename, message):
message = message.encode("utf-8")
f = open(filename)
self.client.upload.statuses__upload(status=message, pic=f)
f.close()
def upload_color(self, message, color_value):
"""上传颜色图片微博"""
message = message.encode("utf-8")
data = generate_image_helper.generate_image(color_value)
logging.info('status: %s, data: %s' % (message, data))
self.client.upload.statuses__upload(status=message, pic=data)
def get_user(self, uid):
user = self.client.get.users__show(uid=uid)
return user
示例12: get_user_info
# 需要导入模块: from weibo import APIClient [as 别名]
# 或者: from weibo.APIClient import set_access_token [as 别名]
def get_user_info(self, code):
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
r = client.request_access_token(code)
access_token = r.access_token
expires_in = r.expires_in
print r.access_token, r.expires_in
client.set_access_token(access_token, expires_in)
uid = client.get.account__get_uid().uid
print uid
user = User.verify_user_openID(accountType=User.USER_TYPE_SINA_WEIBO, accountID=uid)
if not user:
user_info = client.get.users__show(uid=uid)
user = User.new(
username="%s_%s" % (User.USER_TYPE_SINA_WEIBO, uid),
accountType=User.USER_TYPE_SINA_WEIBO,
accountID=uid,
)
user.screen_name = user_info.screen_name
user.gender = user_info.gender
user.headPortrait_url = user_info.profile_image_url # avatar_large?
print user_info
user.openIDinfo = user_info
else:
print "old user"
if user.last_login == None:
user.bonus_notification = 1
else:
last_login_date = datetime.fromtimestamp(user.last_login)
if last_login_date.date() < datetime.today().date():
user.bonus_notification = 1
user.last_login = int(time.time())
self.got_user_info(uid, user)
示例13: Crawler
# 需要导入模块: from weibo import APIClient [as 别名]
# 或者: from weibo.APIClient import set_access_token [as 别名]
class Crawler():
def __init__(self, client_id, redirect_uri, username, passwd):
url = "https://api.weibo.com/oauth2/authorize?client_id="+client_id+"&redirect_uri="+redirect_uri+"&response_type=code"
conn = httplib.HTTPSConnection("api.weibo.com")
postdata = urllib.urlencode({'client_id':client_id,'redirect_uri':redirect_uri,'action':'submit','userId':username,'passwd':passwd})
conn.request('POST','/oauth2/authorize',postdata,{'Referer':url, 'Content-Type': 'application/x-www-form-urlencoded'})
res = conn.getresponse()
page = res.read()
code = res.msg['Location'].split("?")[1][5:]
self.client = APIClient(app_key=client_id, app_secret=app_scret, redirect_uri=redirect_uri)
r = self.client.request_access_token(code)
self.access_token = r.access_token
# expires_in = r.expires_in
self.client.set_access_token(r.access_token, r.expires_in)
def users_show(self, user_id):
print self.client.users.show.get(uid=user_id)
def friendships_followers_active(self, user_id):
print self.client.friendships.followers.active.get(uid = user_id)
def statuses_user_timeline(self, user_id):
print self.client.statuses.user_timeline.get(uid = user_id, page = 1)
def statuses_go(self, user_id):
print self.client.statuses.go.get(uid = user_id)
示例14: fortest
# 需要导入模块: from weibo import APIClient [as 别名]
# 或者: from weibo.APIClient import set_access_token [as 别名]
def fortest(request):
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
access_token = myredis.lindex("token_"+str(request.session['uid']),0)
expires_in = myredis.lindex("token_"+str(request.session['uid']),1)
client.set_access_token(access_token, expires_in)
uid = request.session['uid']
return HttpResponse("your uid: "+str(uid)+"<br />your weibo: "+client.get.statuses__user_timeline()["statuses"][0]["text"].encode("utf-8"))
示例15: access_client
# 需要导入模块: from weibo import APIClient [as 别名]
# 或者: from weibo.APIClient import set_access_token [as 别名]
def access_client(self,app_index):
#定义供替换的APP Key和Secret
APP_KEYS_SECRETS=config.APP_KEYS_SECRETS
##随机取出一个app index
#current_index = int(random.random()*100 % len(APP_KEYS_SECRETS))
APP_KEY= APP_KEYS_SECRETS[app_index][0] #app key
APP_SECRET = APP_KEYS_SECRETS[app_index][1] # app secret
CALLBACK_URL = config.CALLBACK_URI # callback url
username=config.ACCOUNT1
password=config.PASSWORD1
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
url = client.get_authorize_url()
conn = httplib.HTTPSConnection('api.weibo.com')
postdata = urllib.urlencode({'client_id':APP_KEY,'response_type':'code','redirect_uri':CALLBACK_URL,'action':'submit','userId':username,'passwd':password,'isLoginSina':0,'from':'','regCallback':'','state':'','ticket':'','withOfficalFlag':0})
conn.request('POST','/oauth2/authorize',postdata,{'Referer':url, 'Content-Type': 'application/x-www-form-urlencoded'})
res = conn.getresponse()
page = res.read()
conn.close()##拿新浪给的code
code = urlparse.parse_qs(urlparse.urlparse(res.msg['location']).query)['code'][0]
token = client.request_access_token(code)
access_token = token.access_token # 新浪返回的token,类似abc123xyz456
expires_in = token.expires_in # token过期的UNIX时间:http://zh.wikipedia.org/wiki/UNIX%E6%97%B6%E9%97%B4
# TODO: 在此可保存access token
client.set_access_token(access_token, expires_in)##生成token
return client