code: def _fetch_access_token(self, url, data):
          
          logger.info('Fetching component access token')
          res = self._http.post(
              url=url,
              data=data
          )
          try:
              res.raise_for_status()
          except requests.RequestException as reqe:
              raise WeChatClientException(
                  errcode=None,
                  errmsg=None,
                  client=self,
                  request=reqe.request,
                  response=reqe.response
              )
          result = res.json()
          if 'errcode' in result and result['errcode'] != 0:
              raise WeChatClientException(
                  result['errcode'],
                  result['errmsg'],
                  client=self,
                  request=res.request,
                  response=res
              )
  
          expires_in = 7200
          if 'expires_in' in result:
              expires_in = result['expires_in']
          self.session.set(
              'component_access_token',
              result['component_access_token'],
              expires_in
          )
          self.expires_at = int(time.time()) + expires_in
          return result
docs: The real fetch access token