2016-10-31 21 views
4

我最近将gcloud库从118.0.0更新到132.0.0,并且立即remote_api_shell不再有效。我经历了许多重新登录的排列,通过gcloud设置应用程序默认凭据,并使用服务帐户和环境变量。所有置换失败,相同的错误消息:Appengine remote_api_shell自更新以来无法使用应用程序默认凭据

Traceback (most recent call last): 
    File "/Users/mbostwick/google-cloud-sdk/bin/remote_api_shell.py", line 133, in <module> 
    run_file(__file__, globals()) 
    File "/Users/mbostwick/google-cloud-sdk/bin/remote_api_shell.py", line 129, in run_file 
    execfile(_PATHS.script_file(script_name), globals_) 
    File "/Users/mbostwick/google-cloud-sdk/platform/google_appengine/google/appengine/tools/remote_api_shell.py", line 160, in <module> 
    main(sys.argv) 
    File "/Users/mbostwick/google-cloud-sdk/platform/google_appengine/google/appengine/tools/remote_api_shell.py", line 156, in main 
    oauth2=True) 
    File "/Users/mbostwick/google-cloud-sdk/platform/google_appengine/google/appengine/tools/remote_api_shell.py", line 74, in remote_api_shell 
    secure=secure, app_id=appid) 
    File "/Users/mbostwick/google-cloud-sdk/platform/google_appengine/google/appengine/ext/remote_api/remote_api_stub.py", line 769, in ConfigureRemoteApiForOAuth 
    rpc_server_factory=rpc_server_factory) 
    File "/Users/mbostwick/google-cloud-sdk/platform/google_appengine/google/appengine/ext/remote_api/remote_api_stub.py", line 839, in ConfigureRemoteApi 
    app_id = GetRemoteAppIdFromServer(server, path, rtok) 
    File "/Users/mbostwick/google-cloud-sdk/platform/google_appengine/google/appengine/ext/remote_api/remote_api_stub.py", line 569, in GetRemoteAppIdFromServer 
    response = server.Send(path, payload=None, **urlargs) 
    File "/Users/mbostwick/google-cloud-sdk/platform/google_appengine/google/appengine/tools/appengine_rpc_httplib2.py", line 259, in Send 
    NeedAuth() 
    File "/Users/mbostwick/google-cloud-sdk/platform/google_appengine/google/appengine/tools/appengine_rpc_httplib2.py", line 235, in NeedAuth 
    RaiseHttpError(url, response_info, response, 'Too many auth attempts.') 
    File "/Users/mbostwick/google-cloud-sdk/platform/google_appengine/google/appengine/tools/appengine_rpc_httplib2.py", line 85, in RaiseHttpError 
    raise urllib2.HTTPError(url, response_info.status, msg, response_info, stream) 
urllib2.HTTPError: HTTP Error 401: Unauthorized Too many auth attempts. 

背透131.0.0和130.0.0转速后,我就回到了118.0.0,在重新登录,一切工作正常。

更新gcloud后,我没有更新正在运行的应用程序,因为我目前正处于发布周期的中间,所以可能是问题所在,但任何帮助都将不胜感激。谢谢!

+0

您是否曾经与130+合作过?我在133.0.0上看到同样的问题。 – snakecharmerb

回答

8

TL; DR:这是固定在gcloud版本134

原来的答复:运行

gcloud auth application-default login --scopes=https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/userinfo.email 

现在你的远程shell应该重新工作。

详细: 我认为这是由128.0.0更新断裂,更改到gcloud auth login命令一起。旧的令牌有以下范围(根据谷歌的tokeninfo端点):

https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/appengine.admin https://www.googleapis.com/auth/compute https://www.googleapis.com/auth/plus.me 

gcloud auth application-default login新的令牌不带任何选项只有:

https://www.googleapis.com/auth/cloud-platform 

这在gcloud auth application-default login --help

记录版本134的详细信息:请求的示波器是:

https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/cloud-platform 

查看https://groups.google.com/d/msg/google-appengine/ptc-76K6Kk4/9qr4601BBgAJ的讨论

+0

谢谢,这看起来很有希望。您是否碰巧知道Google是否存在这个问题,无论是关于代码还是文档? – snakecharmerb

+0

我不知道是否有。我确实在应用引擎Google群组上发布了一些关注。我对公共问题跟踪器没有太多信心:https://groups.google.com/forum/#!topic/google-appengine/ptc-76K6Kk4 –

+1

这也是firebase rest API的一个问题,请参阅http://应用程序/问题/ 40443525/firebase-applicationdefaultcredentials-doesnt-work-in-dev-appserver/40539525#40539525 – astromme

相关问题