I'm trying the following code to access the Google Cloud storage:
client = storage.Client(credentials = GoogleCredentials.from_stream(<path-to-service-account-json>))
Throws this error:
ValueError: This library only supports credentials from google-auth-library-python. See https://google-cloud-python.readthedocs.io/en/latest/google-cloud-auth.html for help on authentication with this library.
I'm able to authenticate discovery.build
service using the same credentials(obtained using GoogleCredentials.from_stream()
), but for some reason storage.Client fails to use the provided credentials.
Please let me know if I'm missing something.
Client.from_service_account_json('/path/to/keyfile.json')
. TheGoogleCredentials
class is part of an older library. The way to explicitly use a Credentials object withgoogle-auth-library-python
would look more likecredentials = service_account.Credentials.from_service_account_file('/path/to/keyfile.json')
. More docs on that method: google-auth.readthedocs.io/en/latest/user-guide.html You're probably doing discovery with that older Python API, which does use GoogleCredentials. Sorry for the confusion. – Mycorrhiza