【问题标题】:How to access Google Prediction API with Python?如何使用 Python 访问 Google Prediction API?
【发布时间】:2015-06-10 15:03:53
【问题描述】:

我有一个顾问给我的练习项目,要求我编写一个 python 脚本来访问我使用 API Explorer 使用 Prediction API 训练的模型。我对此有两个问题,

  1. 指南规定我不应该在 Python 脚本中检查我的凭据,我不确定这意味着什么,这也会引发问题...

  2. 当我按照文档调用“trainedmodels”的“predict”方法时(使用经过训练的模型来预测文本的语言)

    from apiclient import discovery
    
    service = discovery.build('prediction','v1.6')
    x = service.trainedmodels().predict(project='My First Project', 
         id='my_project_id', 
         body={"input":{"csvInstance":['bonjour!']}})
    

这是返回值

    <googleapiclient.http.HttpRequest object at 0x1031996d0>

因为我不太清楚“不检查我的凭据”是什么意思,所以我不清楚如何继续解决这个问题。

提前谢谢你。

【问题讨论】:

  • 我也许可以帮助解决第一个问题。您通常需要提供您的凭据才能访问 API,这就是我在访问 Twitter API 时所做的。我假设他要求你不要在你的 python 脚本中包含凭据,我不知道为什么,因为这是正确访问它的唯一方法。听起来对吗?
  • @Leb 顾问是否有可能说不要提交仍然包含其凭据的脚本,因为那是私人信息?
  • 是的,当然。如果您提供您的凭据,则您允许任何可以查看它们的人能够使用您的信息(即用户名/密码)。现在其中没有敏感信息,但问题在于他们可以在哪里使用它们并干扰您的项目。
  • 如果它不包含凭据,那么它不会不起作用吗?我从未使用过 OAuth 标准,但我假设这是我需要做的,对吗?
  • 他们的意思是我编写脚本,确保它有效,然后用占位符字符串替换我的凭据?

标签: python google-api google-prediction


【解决方案1】:

至少有一些方法可以实现:

这是一个 sn-p,展示了如何从 Python 中访问凭据:

http = AppAssertionCredentials('https://www.googleapis.com/auth/prediction https://www.googleapis.com/auth/devstorage.read_only').authorize(httplib2.Http())
service = build('prediction', 'v1.6', http=http)

【讨论】: