本文整理汇总了Python中wechat_sdk.WechatBasic.get_access_token方法的典型用法代码示例。如果您正苦于以下问题:Python WechatBasic.get_access_token方法的具体用法?Python WechatBasic.get_access_token怎么用?Python WechatBasic.get_access_token使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wechat_sdk.WechatBasic
的用法示例。
在下文中一共展示了WechatBasic.get_access_token方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: init_wechat_sdk
# 需要导入模块: from wechat_sdk import WechatBasic [as 别名]
# 或者: from wechat_sdk.WechatBasic import get_access_token [as 别名]
def init_wechat_sdk():
"""
初始化微信sdk
:return: WechatBasic
"""
access_token = db.get("wechat:access_token")
jsapi_ticket = db.get("wechat:jsapi_ticket")
token_expires_at = db.get("wechat:access_token_expires_at")
ticket_expires_at = db.get("wechat:jsapi_ticket_expires_at")
if all((access_token, jsapi_ticket, token_expires_at, ticket_expires_at)):
wechat = WechatBasic(appid=app.config['APP_ID'],
appsecret=app.config['APP_SECRET'],
token=app.config['TOKEN'],
access_token=access_token,
access_token_expires_at=int(token_expires_at),
jsapi_ticket=jsapi_ticket,
jsapi_ticket_expires_at=int(ticket_expires_at))
else:
wechat = WechatBasic(appid=app.config['APP_ID'],
appsecret=app.config['APP_SECRET'],
token=app.config['TOKEN'])
access_token = wechat.get_access_token()
db.set("wechat:access_token", access_token['access_token'], 7000)
db.set("wechat:access_token_expires_at",
access_token['access_token_expires_at'], 7000)
jsapi_ticket = wechat.get_jsapi_ticket()
db.set("wechat:jsapi_ticket", jsapi_ticket['jsapi_ticket'], 7000)
db.set("wechat:jsapi_ticket_expires_at",
jsapi_ticket['jsapi_ticket_expires_at'], 7000)
return wechat
示例2: wrapper
# 需要导入模块: from wechat_sdk import WechatBasic [as 别名]
# 或者: from wechat_sdk.WechatBasic import get_access_token [as 别名]
def wrapper(*args, **kwargs):
global cur_token
if not cur_token or cur_token["access_token_expires_at"] - 60 < int(time.time()):
wechat = WechatBasic(appid=wechat_appid, appsecret=wechat_appsecret)
wechat.grant_token(True)
cur_token = wechat.get_access_token()
return wechat_function(*args, **kwargs)
示例3: init_wechat_sdk
# 需要导入模块: from wechat_sdk import WechatBasic [as 别名]
# 或者: from wechat_sdk.WechatBasic import get_access_token [as 别名]
def init_wechat_sdk():
"""初始化微信 SDK"""
access_token = redis.get("wechat:access_token")
jsapi_ticket = redis.get("wechat:jsapi_ticket")
token_expires_at = redis.get("wechat:access_token_expires_at")
ticket_expires_at = redis.get("wechat:jsapi_ticket_expires_at")
if access_token and jsapi_ticket and token_expires_at and ticket_expires_at:
wechat = WechatBasic(appid=app.config['APP_ID'],
appsecret=app.config['APP_SECRET'],
token=app.config['TOKEN'],
access_token=access_token,
access_token_expires_at=int(token_expires_at),
jsapi_ticket=jsapi_ticket,
jsapi_ticket_expires_at=int(ticket_expires_at))
else:
wechat = WechatBasic(appid=app.config['APP_ID'],
appsecret=app.config['APP_SECRET'],
token=app.config['TOKEN'])
access_token = wechat.get_access_token()
redis.set("wechat:access_token", access_token['access_token'], 7000)
redis.set("wechat:access_token_expires_at",
access_token['access_token_expires_at'], 7000)
jsapi_ticket = wechat.get_jsapi_ticket()
redis.set("wechat:jsapi_ticket", jsapi_ticket['jsapi_ticket'], 7000)
redis.set("wechat:jsapi_ticket_expires_at",
jsapi_ticket['jsapi_ticket_expires_at'], 7000)
return wechat
示例4: get_access_token
# 需要导入模块: from wechat_sdk import WechatBasic [as 别名]
# 或者: from wechat_sdk.WechatBasic import get_access_token [as 别名]
def get_access_token():
token = cache.get(TOKEN_KEY)
token_expired_at = cache.get(TOKEN_EXPIRED_AT_KEY)
if token:
return token, token_expired_at
b = WechatBasic(appid=settings.app_id, appsecret=settings.secret)
print "get_access_token at:", datetime.datetime.now()
d = b.get_access_token()
token = d["access_token"]
expired_at = d["access_token_expires_at"]
cache.set(TOKEN_KEY, token, (expired_at - time.time()) * 60)
cache.set(TOKEN_EXPIRED_AT_KEY, expired_at, (expired_at - time.time()) * 60)
return token, expired_at
示例5: get_access_token
# 需要导入模块: from wechat_sdk import WechatBasic [as 别名]
# 或者: from wechat_sdk.WechatBasic import get_access_token [as 别名]
def get_access_token():
token = cache.get(TOKEN_KEY)
token_expired_at = cache.get(TOKEN_EXPIRED_AT_KEY)
if token:
return token, token_expired_at
b = WechatBasic(
appid=settings.APP_ID,
appsecret=settings.SECRET)
print 'get_access_token at:', datetime.datetime.now()
d = b.get_access_token()
token = d['access_token']
expired_at = d['access_token_expires_at']
cache.set(TOKEN_KEY, token, int(expired_at - time.time())*60)
cache.set(TOKEN_EXPIRED_AT_KEY, expired_at, int(expired_at - time.time())*60)
return token, expired_at
示例6: getNewWechatInfo
# 需要导入模块: from wechat_sdk import WechatBasic [as 别名]
# 或者: from wechat_sdk.WechatBasic import get_access_token [as 别名]
def getNewWechatInfo():
'''
modify by bigzhu at 15/07/20 00:00:12 自动转化python的时间类型
'''
wechat = WechatBasic(token=token, appid=appid, appsecret=appsecret)
the_access_token = wechat.get_access_token()
access_token = the_access_token['access_token']
access_token_expires_at = the_access_token['access_token_expires_at']
ticket_info = wechat.get_jsapi_ticket()
jsapi_ticket = ticket_info['jsapi_ticket']
jsapi_ticket_expires_at = ticket_info['jsapi_ticket_expires_at']
access_token_expires_at = time_bz.timestampToDateTime(access_token_expires_at)
jsapi_ticket_expires_at = time_bz.timestampToDateTime(jsapi_ticket_expires_at)
return wechat, access_token, access_token_expires_at, jsapi_ticket, jsapi_ticket_expires_at
示例7: initWechat
# 需要导入模块: from wechat_sdk import WechatBasic [as 别名]
# 或者: from wechat_sdk.WechatBasic import get_access_token [as 别名]
def initWechat(settings):
'''
create by bigzhu at 15/05/18 14:42:20 初始化wechat,获取必要的信息,返回 settings
>>> initWechat({'token':'jhxh4lkwscelseyumc4jmoymmqkz1le1', 'appid':'wx2427206f53ca5191', 'appsecret':'96c12db489bf34bddc5b8929f2745937'}) #doctest:+ELLIPSIS
new access_token= ...
({'access_token_expires_at': 1..., 'access_token': u'...', 'jsapi_ticket': u'...', 'appsecret': '96c12db489bf34bddc5b8929f2745937', 'token': 'jhxh4lkwscelseyumc4jmoymmqkz1le1', 'appid': 'wx2427206f53ca5191', 'jsapi_ticket_expires_at': ...}, <wechat_sdk.basic.WechatBasic object at ...>)
'''
wechat = WechatBasic(token=settings["token"],
appid=settings["appid"],
appsecret=settings["appsecret"])
token = wechat.get_access_token()
settings['access_token'] = token['access_token']
settings['access_token_expires_at'] = token['access_token_expires_at']
ticket_info = wechat.get_jsapi_ticket()
settings['jsapi_ticket'] = ticket_info['jsapi_ticket']
settings['jsapi_ticket_expires_at'] = ticket_info['jsapi_ticket_expires_at']
print 'new access_token=', settings['access_token']
return settings, wechat
示例8: getNewWechatInfo
# 需要导入模块: from wechat_sdk import WechatBasic [as 别名]
# 或者: from wechat_sdk.WechatBasic import get_access_token [as 别名]
def getNewWechatInfo():
'''
modify by bigzhu at 15/07/20 00:00:12 自动转化python的时间类型
modify by bigzhu at 15/09/13 17:25:43 为了用订阅号给指定用户发消息,改用WechatExt
'''
conf = WechatConf(
token=token,
appid=appid,
appsecret=appsecret,
encrypt_mode='compatible',
encoding_aes_key=encoding_aes_key
)
wechat = WechatBasic(conf=conf)
the_access_token = wechat.get_access_token()
access_token = the_access_token['access_token']
access_token_expires_at = the_access_token['access_token_expires_at']
ticket_info = wechat.get_jsapi_ticket()
jsapi_ticket = ticket_info['jsapi_ticket']
jsapi_ticket_expires_at = ticket_info['jsapi_ticket_expires_at']
access_token_expires_at = time_bz.timestampToDateTime(access_token_expires_at)
jsapi_ticket_expires_at = time_bz.timestampToDateTime(jsapi_ticket_expires_at)
return wechat, access_token, access_token_expires_at, jsapi_ticket, jsapi_ticket_expires_at
示例9: WechatBasic
# 需要导入模块: from wechat_sdk import WechatBasic [as 别名]
# 或者: from wechat_sdk.WechatBasic import get_access_token [as 别名]
from wechat_sdk import WechatBasic
from wechat_sdk.exceptions import ParseError
from wechat_sdk.messages import TextMessage, VoiceMessage, ImageMessage, VideoMessage, LinkMessage, LocationMessage, EventMessage
from .menu import create_menu
from GuoShop.settings import BASE_DIR
# Create your views here.
TOKEN = 'ygf'
AppID = 'wx99ab3b8f58db68be'
AppSecret = 'b84b99057fc5f2217581f9540468cb02'
#缓存access_token
if not cache.get('access_token') or not cache.get('access_token_expires_at'):
wechat = WechatBasic(token=TOKEN, appid=AppID, appsecret=AppSecret)
access_token_dit = wechat.get_access_token()
access_token = access_token_dit.get('access_token', '')
access_token_expires_at = access_token_dit.get('access_token_expires_at', '')
cache.set('access_token', access_token, 7000)
cache.set('access_token_expires_at', access_token_expires_at, 7000)
wechat = WechatBasic(token=TOKEN, appid=AppID, appsecret=AppSecret,
access_token=cache.get('access_token'),
access_token_expires_at=cache.get('access_token_expires_at'))
@csrf_exempt
def index(request):
'''
:param request:
示例10: interface
# 需要导入模块: from wechat_sdk import WechatBasic [as 别名]
# 或者: from wechat_sdk.WechatBasic import get_access_token [as 别名]
def interface():
"""初始化接入"""
signature = str(request.args.get("signature"))
timestamp = str(request.args.get('timestamp'))
nonce = str(request.args.get('nonce'))
echostr = request.args.get('echostr')
if 'access_token' not in session:
# 实例化 wechat
access_token = None
access_token_expires_at = None
wechat = WechatBasic(appid=appid, appsecret=appsecret)
token_dict = wechat.get_access_token()
access_token = token_dict.get('access_token')
if access_token:
session['access_token'] = access_token
session['access_token_expires_at'] = token_dict.get('access_token_expires_at')
response = ""
wechat = WechatBasic(token=token)
# 对签名进行校验
if wechat.check_signature(signature=signature, timestamp=timestamp, nonce=nonce):
# 获取请求类型
if request.method == 'POST':
# 读取用户发送消息
body_text = request.data
print body_text
wechat.parse_data(body_text)
# 获得解析结果
message = wechat.get_message()
print "target_user,", message.target
print "from_user,", message.source
print "message_type:", message.type
openid = message.source
# print request.data
# 用户发送文本消息
if message.type == 'text':
if message.content == 'test':
response = wechat.response_text(u'^_^')
else:
response = wechat.response_text(u'您好!')
if not g.user:
# 检查用户是否存在
user = User.query.filter(User.profile.any(Profile.openid == openid)).first()
if user is not None:
signin_user(user)
print u'新用户(%s)关注微信...' % user.name
else:
user = add_wechat_user_to_db(openid)
session['openid'] = openid
else:
user = g.user
message = WechatMessage(user_id=user.id, content=message.content)
db.session.add(message)
db.session.commit()
# 用户发送图片消息
elif message.type == 'image':
response = wechat.response_text(u'图片')
elif message.type == 'scan':
if message.key and message.ticket:
# TODO 扫码回收优惠券,这里还要判断扫码的用户是否为该品牌店授权的店员
# TODO 考虑到还有绑定店员的扫码事件,key分为两种:11[brandid],12[discount_id]
logging.info(message.key[0:2])
logging.info(message.key[2])
if message.key[0:2] == '11':
brand_id = int(message.key[2:])
brand = Brand.query.get(brand_id)
if not brand:
response = wechat.response_text("要绑定的店铺不存在")
data = {"bid": brand_id}
url_text = current_app.config.get("SITE_DOMAIN") + "/check_saler_info" + "?" + urlencode(data)
brand_text = "<a href='{0}'>{1}</a>".format(url_text, brand.name)
print brand_text
text = "您正在申请绑定门店%s,点击输入手机号验证身份" % brand_text
response = wechat.response_text(text)
elif message.key[0:2] == '12':
record_id = int(message.key[2:])
ticket_record = GetTicketRecord.query.get(record_id)
logging.info("tid" + str(ticket_record.id))
# 判断扫码用户是否为该店铺的店员
discount_id = ticket_record.discount_id
discount = Discount.query.get(discount_id)
scan_user = User.query.filter(User.profile.any(Profile.openid == openid)).first()
salers = Saler.query.filter(Saler.user_id == scan_user.id)
if salers.count() > 0:
saler = salers.filter(Saler.brand_id == discount.brand_id).first()
if not saler:
brand = Brand.query.get(discount.brand_id)
tip = "您不是该店铺{0}的店员".format(brand.name)
response = wechat.response_text(tip)
else:
callback_ticket(record_id)
saler.count += 1
db.session.add(saler)
db.session.commit()
response = ""
else:
tip = "您还没有绑定该店铺"
response = wechat.response_text(tip)
# 用户在关注微信时就将用户数据写入数据库
#.........这里部分代码省略.........
示例11: make_celery
# 需要导入模块: from wechat_sdk import WechatBasic [as 别名]
# 或者: from wechat_sdk.WechatBasic import get_access_token [as 别名]
# 队列
celery = make_celery(app)
# 记录日志
handler = RotatingFileHandler('app.log', maxBytes=10000, backupCount=1)
handler.setFormatter(logging.Formatter(
'%(asctime)s %(levelname)s: %(message)s '
'[in %(pathname)s:%(lineno)d]'
))
handler.setLevel(logging.WARNING)
app.logger.addHandler(handler)
# 初始第三方库
redis = Redis()
# 初始化微信 SDK
wechat = WechatBasic(appid=app.config['APP_ID'],
appsecret=app.config['APP_SECRET'],
token=app.config['TOKEN'])
if not redis.exists("wechat:access_token"):
# access_token 写入缓存
wechat.grant_jsapi_ticket()
redis.set("wechat:access_token",
wechat.get_access_token()['access_token'], 7000)
# 路由
from .routes import *
# 定时任务
from .plugins.cron import *