-2

我去了谷歌访问api的服务帐户。Google App引擎和服务帐户

最初没有选择的AppEngine上使用的服务帐户。 不,我发现这个URL说,我们可以做同样的事情。 https://developers.google.com/api-client-library/python/platforms/google_app_engine#ServiceAccounts

我尝试了进程无法取得成功。另一方面,我有两个问题。

  1. 如何这个API标识什么的谷歌项目账户我在计费。
  2. 任何地方使用私有我们从谷歌控制台拿到了钥匙的过程。 而当我试用这是我看到的。

    回溯(最近通话最后一个): 文件 “/base/data/home/apps/tempid/cons-main.361607602228494295/main.py” 63行,在 服务=构建( '驱动', 'V2',HTTP = HTTP) 文件 “/base/data/home/apps/tempid/cons-main.361607602228494295/oauth2client/util.py”,线120,在positional_wrapper 返回包裹(*指定参数时,** kwargs ) 文件“/base/data/home/apps/tempid/cons-main.361607602228494295/apiclient/discovery.py”,行193,in build resp,content = http.request(requested_url) File“/ base /数据/家/应用/ tempid /缺点-main.361607602228494295/oauth2client/util.py”,线120,在positional_wrapper 返回包裹(*指定参数时,** kwargs) 文件“/base/data/home/apps/tempid/cons-main.361607602228494295/oauth2client/client.py”,第405行,在new_request中 self._refresh(request_orig) 文件“/ base/data/home/apps /tempid/cons-main.361607602228494295/oauth2client/appengine.py“,第162行,在_refresh raise AccessTokenRefreshError(str(e)) AccessTokenRefreshError

任何答案? 请忽略上述错误,我把它整理出来。错误在于定义范围。

我说我的AppEngine应用服务帐户ID安慰,&我没有使用任何的API密钥添加了结算。

service.files().insert(
     body=body, 
     ).execute() 

该语句引发异常。

An error occured: <HttpError 403 when requesting https://www.googleapis.com/drive/v2/files?alt=json returned "Daily Limit Exceeded. Please sign up"> 

我不知道如果我在API控制台添加我的AppEngine服务帐户2-3项目,我没有使用任何的API密钥,其中将从这个项目中的数据进入。 -

+0

这是不是很清楚你究竟在问什么这里..你真的通过文件,并尝试了一些功能齐全的例子吗?从您提供的链接中,他们可以找到充分展示完整应用程序的示例。那工作? – Lipis

+0

发布此错误来自api团队为服务帐户提供的功能示例..http://code.google.com/p/google-api-python-client/source/browse/#hg%2Fsamples%2Fstorage_serviceaccount_appengine它没有工作,所以我张贴 –

回答

2

服务帐户仅支持某些特定服务。看起来你正在尝试使用Google Drive SDK,所以我添加了google-drive-sdk标签。希望看到该标签的人可以告诉你,云端硬盘是否支持服务帐户。

提供的服务帐户支持与驱动器 - 请更新您确切的代码后。安装AppAssertionCredentials对象时,是否使用了正确的Google Drive scope

您可能希望首先在App Engine shell中尝试此操作,以便轻松捕获异常并检查异常对象内部的内容。您希望能够在尝试获取访问令牌时找到服务器返回的错误响应。

您可能必须在API控制台项目上作为团队成员添加App Engine服务帐户电子邮件地址(从App Engine控制台)。我们必须这样做才能将BigQuery的帐单/数据权限关联起来。

您不必从API控制台使用任何私钥--App Engine会自动处理服务帐户创建和密钥管理。

+0

谢谢瑞安,我得到这个排序,我能够建立连接的谷歌驱动器SDK。我现在正在尝试提供api密钥,而不提供api密钥。我们通过Google Apps帐户(不是Gmail)使用api控制台,我们无法将用户添加到来自其他域的团队。所以我无法从appengine添加服务帐户到我的api控制台,我的帐单启用:(如果我尝试帐户没有帐单,它说配额错误。如果我使用API​​密钥'身份验证令牌必须发布到非 - 匿名应用程序“这是错误显示 –

+0

我不知道我是否已经将我的appengine服务帐户添加到了api控制台的2-3个项目,并且我没有使用任何API密钥,这个项目的数据将在哪里进入。 –

+0

Data实际上是基于用户帐号存储的,在这种情况下,App Engine服务帐号实际上是一个用户帐号(具有指定的电子邮件地址),不能通过用户界面登录,但数据以相同的方式存储所以最大的问题不是数据是如何存储的,而是与它相关的应用程序(来自API控制台)。“不同的域”错误令人沮丧 - 我知道。 –