infiniflow/ragflow · error · ConnectorValidationError
Primary admin email not found in credentials. Ensure DB_CRED
Error message
Primary admin email not found in credentials. Ensure DB_CREDENTIALS_PRIMARY_ADMIN_KEY is set.
What it means
Error "Primary admin email not found in credentials. Ensure DB_CREDENTIALS_PRIMARY_ADMIN_KEY is set." thrown in infiniflow/ragflow.
Source
Thrown at common/data_source/google_drive/connector.py:1119
try:
checkpoint = self.build_dummy_checkpoint()
while checkpoint.completion_stage != DriveRetrievalStage.DONE:
yield from self._extract_slim_docs_from_google_drive(
checkpoint=checkpoint,
)
self.logger.info("Drive perm sync: Slim doc retrieval complete")
except Exception as e:
if MISSING_SCOPES_ERROR_STR in str(e):
raise PermissionError() from e
raise e
def validate_connector_settings(self) -> None:
if self._creds is None:
raise ConnectorMissingCredentialError("Google Drive credentials not loaded.")
if self._primary_admin_email is None:
raise ConnectorValidationError("Primary admin email not found in credentials. Ensure DB_CREDENTIALS_PRIMARY_ADMIN_KEY is set.")
try:
drive_service = get_drive_service(self._creds, self._primary_admin_email)
drive_service.files().list(pageSize=1, fields="files(id)").execute()
if isinstance(self._creds, ServiceAccountCredentials):
# default is ~17mins of retries, don't do that here since this is called from
# the UI
get_root_folder_id(drive_service)
except HttpError as e:
status_code = e.resp.status if e.resp else None
if status_code == 401:
raise CredentialExpiredError("Invalid or expired Google Drive credentials (401).")
elif status_code == 403:
raise InsufficientPermissionsError("Google Drive app lacks required permissions (403). Please ensure the necessary scopes are granted and Drive apps are enabled.")
else:
raise ConnectorValidationError(f"Unexpected Google Drive error (status={status_code}): {e}")View on GitHub (pinned to 554fb1133a)
Solutions
- Set the DB_CREDENTIALS_PRIMARY_ADMIN_KEY environment variable.
- Include the primary admin email in the credentials JSON.
Example fix
export DB_CREDENTIALS_PRIMARY_ADMIN_KEY=admin@example.com
When it happens
Trigger: Thrown at common/data_source/google_drive/connector.py:1119 when the library encounters an invalid state.
Common situations: The credentials payload does not identify a primary admin email for domain-wide delegation; providing it prevents this error.
AI-assisted analysis of infiniflow/ragflow@554fb1133a (2026-08-15).
Data as JSON: /api/errors/9c36319e36dec635.
Report an issue: GitHub.