def _get_mp_info(cls, to_user_id_list, shop_id): """获取发送人的微信openid与微信对象""" app_id = MP_APPID app_secret = MP_APPSECRET template_id = cls._default_template_id # 森果自己的微信公众号和零售共用一个 redis_conn = get_redis_connection("default") access_token = redis_conn.get("access_token") access_token = access_token.decode("utf-8") if access_token else None wechat_client = WeChatClient(appid=app_id, secret=app_secret, access_token=access_token, timeout=5) if not access_token: access_token = wechat_client.fetch_access_token() redis_conn.setex("access_token", 3600, access_token.get("access_token")) user_openid_list = list_openid_by_user_ids_and_appid( to_user_id_list, app_id) touser_list = [ user_openid.wx_openid for user_openid in user_openid_list ] return touser_list, template_id, wechat_client
def update_access_token(self): now = self._now() client = WeChatClient(self.app_id, self.app_secret) res = client.fetch_access_token() self.access_token_content = res.get('access_token') self.access_token_expires_at = now + datetime.timedelta( seconds=res.get('expires_in') - 60) self.save()
def get_access_token(): # print(1) redis_client = redis.Redis(host="127.0.0.1", port=6379, db=5) os.environ.setdefault("DJANGO_SETTINGS_MODULE", "up_down_chain.settings") # project_name 项�~[��~P~M称 django.setup() wechat_client = WeChatClient( settings.WXAPPID, settings.WXAPPSECRET, ) access_token = wechat_client.fetch_access_token()["access_token"] time.sleep(5) redis_client.setex("access_token", access_token, 7000) return "ok"