Skip to content

register_files should not require google.auth.credentials.Credentials when client uses Gemini API Key #2535

@andersio

Description

@andersio

Environment details

  • Programming language: Python 3.14
  • OS: Linux
  • Package version: 1.68.0

Steps to reproduce

register_files currently requires google.auth.credentials.Credentials.

But the API request was rejected by Gemini API backend when:

  1. a google.auth.credentials.Credentials is supplied; and
  2. the client is instantiated with a Gemini API Key.
ClientError: 401 UNAUTHENTICATED. {'error': {'code': 401, 'message': 'API key for authentication is used with other authentication credentials. Expected only one form of authentication.', 'status': 'UNAUTHENTICATED', 'details': [{'@type': 
'type.googleapis.com/google.rpc.ErrorInfo', 'reason': 'OVERLOADED_CREDENTIALS', 'metadata': {'method': 'google.ai.generativelanguage.v1beta.FileService.RegisterFiles', 'service': 'generativelanguage.googleapis.com'}}]}}

When calling the file register API directly with only the Gemini API Key (service account bound), it works as expected.

It requires a workaround to call the private _register_files method to dance around this check. This seems to be the case even for the latest google-genai@2.7.0.

Metadata

Metadata

Labels

priority: p2Moderately-important priority. Fix may not be included in next release.status:awaiting user responsetype: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions