当前位置: 首页>>代码示例>>Python>>正文


Python WechatBasic.get_access_token方法代码示例

本文整理汇总了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
开发者ID:defhook,项目名称:flask-blog,代码行数:33,代码来源:wx_tool.py

示例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)
开发者ID:talway,项目名称:wechat_base,代码行数:9,代码来源:token_tool.py

示例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
开发者ID:DogLi,项目名称:gxgk-wechat-server,代码行数:30,代码来源:utils.py

示例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
开发者ID:southwolf,项目名称:wechat-admin,代码行数:15,代码来源:wechat_wrapper.py

示例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
开发者ID:daixm,项目名称:wechat-admin,代码行数:17,代码来源:auth.py

示例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
开发者ID:Jasonfloy,项目名称:follow_center,代码行数:18,代码来源:wechat_oper.py

示例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
开发者ID:Jasonfloy,项目名称:lib,代码行数:22,代码来源:wechat_bz.py

示例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
开发者ID:sinowisaland,项目名称:yinmore_wechat_pay,代码行数:26,代码来源:wechat_oper.py

示例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:
开发者ID:JoneSnow,项目名称:GuoShop,代码行数:33,代码来源:views.py

示例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)
            # 用户在关注微信时就将用户数据写入数据库
#.........这里部分代码省略.........
开发者ID:yyt030,项目名称:quanduoduo,代码行数:103,代码来源:site.py

示例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 *
开发者ID:lypinggan,项目名称:gxgk-wechat-server,代码行数:32,代码来源:__init__.py


注:本文中的wechat_sdk.WechatBasic.get_access_token方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。