无法使用appcfg命令在Google App Engine上下载已部署应用程序的源代码

时间:2014-10-27 16:51:43

标签: sdk google-app-engine

我正在使用java并在Google App Engine上部署了一些应用程序,并尝试使用命令行工具appcfg下载其中一个已部署应用程序的源代码,但没有运气。它无法进行身份验证,我无法找出原因?

这是我正在使用的命令:

appcfg -A mailboxsigma download_app c:\users\rkumar2\desktop\destination

发出命令之后输出:

Oct 27, 2014 10:04:32 PM java.util.prefs.WindowsPreferences <init>
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0
x80000002. Windows RegCreateKeyEx(...) returned error code 5.
0% Fetching file list...
Oct 27, 2014 10:04:35 PM com.google.appengine.tools.admin.AbstractServerConnecti
on send1
WARNING: Error posting to URL: https://appengine.google.com/api/files/list?app_i
d=mailboxsigma&
401 Unauthorized
Must authenticate first.
This is try #0
Email: raghvendra1669@gmail.com
Password for raghvendra1669@gmail.com:
Email:

正如您在输出中看到的那样,在我输入我的Gmail凭据,即电子邮件和密码后,它再次开始询问电子邮件,因此我再次执行此操作,并在重复输入凭据时失败。

我检查了我的App Engine控制台,了解已部署应用程序标识符的正确性,发现它是正确的。我在这里缺少什么?

Email: raghvendra1669@gmail.com
Password for raghvendra1669@gmail.com:
Email: raghvendra1669@gmail.com
Password for raghvendra1669@gmail.com:

Error Details:
Email "raghvendra1669@gmail.com" and password do not match.

Unable to fetch file list

2 个答案:

答案 0 :(得分:2)

Google禁止通过被视为“安全性较低”的应用进行登录。这包括SDK中的appcfg。你能做的是enable less secure apps

或者,您可以使用OAuth2

答案 1 :(得分:2)

由于安全原因禁用了命令行身份验证,我们可以使用OAuth2进行身份验证。要从命令行使用相同的内容,我们需要通过在命令OAuth2中传递参数来指示我们将使用--auth2进行身份验证。 所以命令看起来像这样:

appcfg -A mailboxsigma --oauth2 download_app  c:\users\rkumar2\desktop\destination

发出此命令后,它会在浏览器中打开一个身份验证窗口,当您接受身份验证时,它将生成一个密钥,您需要在命令提示符中输入该密钥并开始下载。

注意:下载应用程序将下载所有.class文件而不是源文件,因此您需要使用合适的反编译器进行反编译。