2017-01-08 73 views
0

我无法使用此脚本。我用我从Google API创建的API密钥替换DEVELOPER_KEY。如果有人能帮助我,我会很感激。脚本来自此页:https://developers.google.com/youtube/v3/code_samples/python#search_by_keywordgoogle-api-python-client无法使用开发人员密钥

#!/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) 

我收到以下错误消息。

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. 
+2

你去推荐的网页和阅读呢?你是否设置了适当的环境变量? – MattDMo

+0

是的,但我不想使用OAuth 2.0访问Google API,我只想使用API​​密钥。实际上,这个脚本几周前工作得很好。 – alicankargin

+0

现在它的作品谢谢你。我意识到我误解了说明。 – alicankargin

回答

0

如果您想使用google-api-python-client版本1.6,请执行以下操作。 转到https://console.developers.google.com/apis/credentials。选择创建凭证,选择服务帐户密钥,选择App Engine默认服务帐户,下载JSON文件并将其放入项目文件夹中。然后将其设置为环境变量GOOGLE_APPLICATION_CREDENTIALS

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

1

这是google-api-python-client版本1.6的问题。使用以前的版本(1.5.5)应该可以解决问题。

+0

这解决了我的问题 –

相关问题