def get_client_by_appid(self, authorizer_appid): """ 通过 authorizer_appid 获取 Client 对象 :params authorizer_appid: 授权公众号appid """ access_token_key = '{0}_access_token'.format(authorizer_appid) refresh_token_key = '{0}_refresh_token'.format(authorizer_appid) access_token = self.session.get(access_token_key) refresh_token = self.session.get(refresh_token_key) assert refresh_token if not access_token: ret = self.refresh_authorizer_token(authorizer_appid, refresh_token) access_token = ret['authorizer_access_token'] refresh_token = ret['authorizer_refresh_token'] access_token_key = '{0}_access_token'.format(authorizer_appid) expires_in = 7200 if 'expires_in' in ret: expires_in = ret['expires_in'] self.session.set(access_token_key, access_token, expires_in) return WeChatComponentClient(authorizer_appid, self, session=self.session)
def get_client_by_appid(self, authorizer_appid): """ 通过 authorizer_appid 获取 Client 对象 :params authorizer_appid: 授权公众号appid """ access_token_key = f"{authorizer_appid}_access_token" refresh_token_key = f"{authorizer_appid}_refresh_token" access_token = self.session.get(access_token_key) refresh_token = self.session.get(refresh_token_key) assert refresh_token if not access_token: ret = self.refresh_authorizer_token(authorizer_appid, refresh_token) access_token = ret["authorizer_access_token"] refresh_token = ret["authorizer_refresh_token"] access_token_key = f"{authorizer_appid}_access_token" expires_in = 7200 if "expires_in" in ret: expires_in = ret["expires_in"] self.session.set(access_token_key, access_token, expires_in) return WeChatComponentClient(authorizer_appid, self, session=self.session)
def get_client_by(self, authorization_code): """ 通过授权码直接获取 Client 对象 :params authorization_code: 授权code,会在授权成功时返回给第三方平台,详见第三方平台授权流程说明 """ result = self.query_auth(authorization_code) access_token = result['authorization_info']['authorizer_access_token'] refresh_token = result['authorization_info'][ 'authorizer_refresh_token'] # NOQA authorizer_appid = result['authorization_info'][ 'authorizer_appid'] # noqa return WeChatComponentClient(authorizer_appid, self, access_token, refresh_token, session=self.session)
def get_client_by_authorization_code(self, authorization_code): """ 通过授权码直接获取 Client 对象 :params authorization_code: 授权code,会在授权成功时返回给第三方平台,详见第三方平台授权流程说明 """ warnings.warn('`get_client_by_authorization_code` method of `WeChatComponent` is deprecated,' 'Use `parse_message` parse message and ' 'Use `get_client_by_appid` instead', DeprecationWarning, stacklevel=2) result = self.query_auth(authorization_code) access_token = result['authorization_info']['authorizer_access_token'] refresh_token = result['authorization_info']['authorizer_refresh_token'] # NOQA authorizer_appid = result['authorization_info']['authorizer_appid'] # noqa return WeChatComponentClient( authorizer_appid, self, access_token, refresh_token, session=self.session )
def get_client(self, authorizer_appid): """ 通过 authorizer_appid获取 Client 对象 :params authorizer_appid: 授权公众号appid """ access_token_key = '{0}_access_token'.format(authorizer_appid) refresh_token_key = '{0}_refresh_token'.format(authorizer_appid) access_token = self.session.get(access_token_key) refresh_token = self.session.get(refresh_token_key) if not access_token: ret = self.refresh_authorizer_token(authorizer_appid, refresh_token) access_token = ret['authorizer_access_token'] refresh_token = ret['authorizer_refresh_token'] return WeChatComponentClient(authorizer_appid, self, access_token, refresh_token, session=self.session)