| 74 | """ |
| 75 | |
| 76 | def __init__(self, appid, component, access_token=None, |
| 77 | refresh_token=None, session=None, timeout=None): |
| 78 | # 未用到secret,所以这里没有 |
| 79 | super(WeChatComponentClient, self).__init__( |
| 80 | appid, '', '', session, timeout |
| 81 | ) |
| 82 | self.appid = appid |
| 83 | self.component = component |
| 84 | # 如果公众号是刚授权,外部还没有缓存access_token和refresh_token |
| 85 | # 可以传入这两个值,session 会缓存起来。 |
| 86 | # 如果外部已经缓存,这里只需要传入 appid,component和session即可 |
| 87 | cache_access_token = self.session.get(self.access_token_key) |
| 88 | |
| 89 | if access_token and (not cache_access_token or cache_access_token != access_token): |
| 90 | self.session.set(self.access_token_key, access_token, 7200) |
| 91 | if refresh_token: |
| 92 | self.session.set(self.refresh_token_key, refresh_token) |
| 93 | |
| 94 | @property |
| 95 | def access_token_key(self): |