Google API客户端机密错误(Python)

时间:2012-12-13 11:32:19

标签: python google-app-engine google-api-python-client

我想从Google分析中检索数据。我在控制台中创建了一个服务帐户,并使用Google的Python(hello_analytics_api_v3.py)代码来访问数据。

我已将client_secrets.json复制到我的文件夹中,但收到此错误:

*SystemExit: 
WARNING: Please configure OAuth 2.0
To make this sample run you will need to populate the client_secrets.json file
found at:*

我该怎么办?我使用的是Python 2.7。

5 个答案:

答案 0 :(得分:9)

确保终端指向与client_secrets.json文件相同的路径目录。

即。在用于调用脚本的控制台中键入pwd,输出应与存储client_secrets.json的目录匹配。

答案 1 :(得分:2)

我遇到了这个问题,并删除了我的项目的凭据,并使用“OAuth客户端ID”选项创建了新的凭据。按照本页第一步结束this

我还在google提供的示例代码中发现了语法错误 线条:

print 'View (Profile): %s' % results.get('profileInfo').get('profileName')
print 'Total Sessions: %s' % results.get('rows')[0][0]

应阅读:

print ('View (Profile): %s' % (results.get('profileInfo').get('profileName')))
print ('Total Sessions: %s' % (results.get('rows')[0][0]))

至少这解决了我。另外,请确保client_secrets.json与python脚本位于同一目录中。

答案 2 :(得分:2)

https://developers.google.com/youtube/v3/guides/uploading_a_video的示例代码中,对CLIENT_SECRETS_FILE的调用将CLIENT_SECRETS_FILE作为相对路径传递。

要解决此问题,请强制def get_authenticated_service(args): flow = flow_from_clientsecrets( os.path.abspath(os.path.join( os.path.dirname(__file__),CLIENT_SECRETS_FILE)), scope=YOUTUBE_UPLOAD_SCOPE, message=MISSING_CLIENT_SECRETS_MESSAGE) 参数为绝对路径:

padding-left

答案 3 :(得分:1)

我收到此错误,因为我仍然在client_id和client_secret中有方括号。它应该是没有括号的字符串。

答案 4 :(得分:0)

如果您使用的是Windows系统,请按以下步骤操作:

  1. 将您的文件(client_secrets.json)放在目录(C :)或(D :)中。
  2. 在您的Python文件中定义您的变量,如下所示: CLIENT_SECRETS_FILE = "\client_secrets.json"。 Python将在根C:或D:中搜索json文件,并且会找到它。
  3. 我在使用Google API for youtube方面遇到了同样的问题,我解决了这个问题。