alicankargin
alicankargin

Reputation: 1

google-api-python-client doesn't work with developer key

I can't get this script working. I replace the DEVELOPER_KEY with the API key I have created from Google APIs. I would really appreciate if someone can help me out. The script is from this page: https://developers.google.com/youtube/v3/code_samples/python#search_by_keyword

#!/usr/bin/python

from apiclient.discovery import build
from apiclient.errors import HttpError
from oauth2client.tools import argparser


# Set DEVELOPER_KEY to the API key value from the APIs & auth > Registered apps
# tab of
#   https://cloud.google.com/console
# Please ensure that you have enabled the YouTube Data API for your project.
DEVELOPER_KEY = "REPLACE_ME"
YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = "v3"

youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION, developerKey=DEVELOPER_KEY)

I get the following error message.

Traceback (most recent call last):
  File "hello.py", line 16, in <module>
    youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION, developerKey=DEVELOPER_KEY)
  File "/home/alican/.local/lib/python2.7/site-packages/oauth2client/_helpers.py", line 133, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "/home/alican/.local/lib/python2.7/site-packages/googleapiclient/discovery.py", line 226, in build
    credentials=credentials)
  File "/home/alican/.local/lib/python2.7/site-packages/oauth2client/_helpers.py", line 133, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "/home/alican/.local/lib/python2.7/site-packages/googleapiclient/discovery.py", line 358, in build_from_document
    credentials = _auth.default_credentials()
  File "/home/alican/.local/lib/python2.7/site-packages/googleapiclient/_auth.py", line 40, in default_credentials
    return oauth2client.client.GoogleCredentials.get_application_default()
  File "/home/alican/.local/lib/python2.7/site-packages/oauth2client/client.py", line 1264, in get_application_default
    return GoogleCredentials._get_implicit_credentials()
  File "/home/alican/.local/lib/python2.7/site-packages/oauth2client/client.py", line 1254, in _get_implicit_credentials
    raise ApplicationDefaultCredentialsError(ADC_HELP_MSG)
oauth2client.client.ApplicationDefaultCredentialsError: The Application Default Credentials are not available. They are available if running in Google Compute Engine. Otherwise, the environment variable GOOGLE_APPLICATION_CREDENTIALS must be defined pointing to a file defining the credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.

Upvotes: 0

Views: 1301

Answers (2)

alicankargin
alicankargin

Reputation: 1

If you want to use google-api-python-client version 1.6 do the following. Go to https://console.developers.google.com/apis/credentials. Select create credentials, choose service account key, choose App Engine default service account, download the JSON file and put it in your project folder. Then set the it as the environment variable GOOGLE_APPLICATION_CREDENTIALS.

os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "./google_application_credentials.json"

Upvotes: 0

Moose
Moose

Reputation: 111

It is an issue with version 1.6 of google-api-python-client. Using the previous version (1.5.5) should solve the problem.

Upvotes: 1

Related Questions