code: def from_service_account_json(cls, json_credentials_path, *args, **kwargs):
          
          if "credentials" in kwargs:
              raise TypeError("credentials must not be in keyword arguments")
          with io.open(json_credentials_path, "r", encoding="utf-8") as json_fi:
              credentials_info = json.load(json_fi)
          credentials = service_account.Credentials.from_service_account_info(
              credentials_info
          )
          if cls._SET_PROJECT:
              if "project" not in kwargs:
                  kwargs["project"] = credentials_info.get("project_id")
  
          kwargs["credentials"] = credentials
          return cls(*args, **kwargs)
docs: Factory to retrieve JSON credentials while creating client.
  
          :type json_credentials_path: str
          :param json_credentials_path: The path to a private key file (this file
                                        was given to you when you created the
                                        service account). This file must contain
                                        a JSON object with a private key and
                                        other credentials information (downloaded
                                        from the Google APIs console).
  
          :type args: tuple
          :param args: Remaining positional arguments to pass to constructor.
  
          :type kwargs: dict
          :param kwargs: Remaining keyword arguments to pass to constructor.
  
          :rtype: :class:`_ClientFactoryMixin`
          :returns: The client created with the retrieved JSON credentials.
          :raises TypeError: if there is a conflict with the kwargs
                   and the credentials created by the factory.