code: def from_authorized_user_info(cls, info, scopes=None):
          
          keys_needed = set(('refresh_token', 'client_id', 'client_secret'))
          missing = keys_needed.difference(six.iterkeys(info))
  
          if missing:
              raise ValueError(
                  'Authorized user info was not in the expected format, missing '
                  'fields {}.'.format(', '.join(missing)))
  
          return Credentials(
              None,  # No access token, must be refreshed.
              refresh_token=info['refresh_token'],
              token_uri=_GOOGLE_OAUTH2_TOKEN_ENDPOINT,
              scopes=scopes,
              client_id=info['client_id'],
              client_secret=info['client_secret'])
docs: Creates a Credentials instance from parsed authorized user info.
  
          Args:
              info (Mapping[str, str]): The authorized user info in Google
                  format.
              scopes (Sequence[str]): Optional list of scopes to include in the
                  credentials.
  
          Returns:
              google.oauth2.credentials.Credentials: The constructed
                  credentials.
  
          Raises:
              ValueError: If the info is not in the expected format.