Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine Android Studio在哪里隐藏应用程序引擎项目的上载权限?_Google App Engine_Intellij Idea_Gradle_Android Studio - Fatal编程技术网

Google app engine Android Studio在哪里隐藏应用程序引擎项目的上载权限?

Google app engine Android Studio在哪里隐藏应用程序引擎项目的上载权限?,google-app-engine,intellij-idea,gradle,android-studio,Google App Engine,Intellij Idea,Gradle,Android Studio,我有一个正在运行的应用程序引擎项目Java,它是我不久前从一个模板创建的。上传总是运行良好,我不记得我在设置时输入了凭据。也许我在某个时候做过,但我不记得机制是什么 现在我把这个项目切换到另一个appengine项目,它也有一个不同的管理员用户。我在appengine-web.xml中更改为新的应用程序-name-000并开始上传,但gradle/appengineUpdate一直告诉我: Oct 20, 2014 10:06:35 AM com.google.appengine.tools.a

我有一个正在运行的应用程序引擎项目Java,它是我不久前从一个模板创建的。上传总是运行良好,我不记得我在设置时输入了凭据。也许我在某个时候做过,但我不记得机制是什么

现在我把这个项目切换到另一个appengine项目,它也有一个不同的管理员用户。我在appengine-web.xml中更改为新的应用程序-name-000并开始上传,但gradle/appengineUpdate一直告诉我:

Oct 20, 2014 10:06:35 AM com.google.appengine.tools.admin.AbstractServerConnection send1
WARNING: Error posting to URL: https://appengine.google.com/api/appversion/getresourcelimits?app_id=application-name-000&version=2&
404 Not Found
This application does not exist (app_id=u'application-name-000').
确保该应用程序不存在,因为它是app engine的新项目;-我试图暂时将版本2设置为版本1,这似乎不是问题所在。我在谷歌上搜索发现这似乎是一个权限问题,但我找不到任何提示我需要做什么,也找不到在Android Studio中设置新权限的地方


过程是什么?我是否需要将appengine中的一些密钥复制到项目中,或者在Android Studio中哪里可以设置用户名/oauth?

我终于找到了解决方法。是的,这是一个权限问题,请参阅下面的进一步证明

Android Studio使用oauth连接到project to app engine。当您第一次安装Android Studio并创建项目时,它会在您的主目录中创建以下文件:

.appcfg_oauth2_tokens_java (in Windows this is under c:\Users\{Username}\)
这是一个没有名字,只有扩展名的文件。此文件包含要连接并上载到app engine的令牌

如果oauth用户发生更改,Android Studio将使用错误的凭据,上载将失败

要解决这个问题:

删除该文件

从命令行调用appengineUpdate!,不是从Windows中的菜单,通常是从Android Studio和模块中打开终端,然后输入

..\gradlew appengineUpdate

它会启动更新,由于缺少文件,Android Studio会打开浏览器,选择您的Google用户并授予权限。然后您将收到一个代码

复制该代码并将其粘贴到终端中。没有输入框或任何东西。命令行只是停止,什么也没说。将代码粘贴到那里,然后按enter键

然后将为您创建一个新文件,令牌将保存到该文件中,您的项目应该可以正常上载

我在这里找到的文件的提示和如何复制代码的提示都很糟糕,谷歌

当我更改build.gradle文件时,可以看出这是一个权限问题:

appengine {
    downloadSdk = true
    appcfg {
        oauth2 = true
    }
}
oauth2=true生成此错误消息:

WARNING: Error posting to URL: https://appengine.google.com/api/appversion/create?app_id=...&version=2&
404 Not Found
This application does not exist (app_id=u'...').
虽然oauth2=false生成了这个:

WARNING: Error posting to URL: https://appengine.google.com/api/appversion/getresourcelimits?app_id=...&version=2&
401 Unauthorized
Must authenticate first.

我们学到了什么?永远不要相信错误消息,不管它看起来多么明确。

我终于找到了解决方法。是的,这是一个权限问题,请参阅下面的进一步证明

Android Studio使用oauth连接到project to app engine。当您第一次安装Android Studio并创建项目时,它会在您的主目录中创建以下文件:

.appcfg_oauth2_tokens_java (in Windows this is under c:\Users\{Username}\)
这是一个没有名字,只有扩展名的文件。此文件包含要连接并上载到app engine的令牌

如果oauth用户发生更改,Android Studio将使用错误的凭据,上载将失败

要解决这个问题:

删除该文件

从命令行调用appengineUpdate!,不是从Windows中的菜单,通常是从Android Studio和模块中打开终端,然后输入

..\gradlew appengineUpdate

它会启动更新,由于缺少文件,Android Studio会打开浏览器,选择您的Google用户并授予权限。然后您将收到一个代码

复制该代码并将其粘贴到终端中。没有输入框或任何东西。命令行只是停止,什么也没说。将代码粘贴到那里,然后按enter键

然后将为您创建一个新文件,令牌将保存到该文件中,您的项目应该可以正常上载

我在这里找到的文件的提示和如何复制代码的提示都很糟糕,谷歌

当我更改build.gradle文件时,可以看出这是一个权限问题:

appengine {
    downloadSdk = true
    appcfg {
        oauth2 = true
    }
}
oauth2=true生成此错误消息:

WARNING: Error posting to URL: https://appengine.google.com/api/appversion/create?app_id=...&version=2&
404 Not Found
This application does not exist (app_id=u'...').
虽然oauth2=false生成了这个:

WARNING: Error posting to URL: https://appengine.google.com/api/appversion/getresourcelimits?app_id=...&version=2&
401 Unauthorized
Must authenticate first.

我们学到了什么?永远不要相信错误消息,无论它看起来多么明确。

您只需更改第一个帐户上的密码,当您尝试运行appengineUpdate时,它将提示您输入新帐户的详细信息。

您只需更改第一个帐户上的密码,当您尝试运行appengineUpdate时,它将提示您输入新帐户的详细信息。

您为什么这样做你认为这是权限问题吗?错误消息非常明确:application-name-000不存在。您是否在应用程序引擎控制台中创建了该应用程序?为什么你要在应用程序名称后面加上000?正如Daniel指出的。。。只需在console.developer中创建应用程序
s、 google.com,为它取一个名字,然后编辑你的app.yaml以转到appapplication-name-000是我的app id[我只是把它弄得不透明,因为我不想在这里发布它]。我已经在app engine上创建了这个应用程序,它的名称与我的app.yaml[这里是appengine-web.xml,我使用的是Java]中的名称完全相同。我认为这是一个权限问题,因为我发现了这个和这个以及其他帖子。@Patrice为什么你认为我可以创建一个项目并上传?这意味着我可以做一个URL扫描和覆盖任何人的项目。我确信谷歌没有以这种方式实施。Android Studio必须有一种方法知道它是您的项目,IMO只能使用凭据、密钥或oauth来工作,因为它就是这样工作的。转到console.developers.google.com,创建一个新项目,该项目将为您提供一个ID。然后将该ID放入app.yaml或appengine-web.xml中。通常,当您使用命令行或应用程序引擎启动器上载时,会询问您的凭据。。。在其他一些情况下,它是项目的配置文件。也许你的android studio被以前的帐户卡住了,而该帐户对你的新项目没有权限是什么让你认为这是一个权限问题?错误消息非常明确:application-name-000不存在。您是否在应用程序引擎控制台中创建了该应用程序?为什么你要在应用程序名称后面加上000?正如Daniel指出的。。。只需在console.developers.google.com中创建你的应用程序,为它取一个名字,然后编辑你的应用程序。yaml转到appapplication-name-000是我的应用程序id[我只是让它不透明,因为我不想在这里发布它]。我已经在app engine上创建了这个应用程序,它的名称与我的app.yaml[这里是appengine-web.xml,我使用的是Java]中的名称完全相同。我认为这是一个权限问题,因为我发现了这个和这个以及其他帖子。@Patrice为什么你认为我可以创建一个项目并上传?这意味着我可以做一个URL扫描和覆盖任何人的项目。我确信谷歌没有以这种方式实施。Android Studio必须有一种方法知道它是您的项目,IMO只能使用凭据、密钥或oauth来工作,因为它就是这样工作的。转到console.developers.google.com,创建一个新项目,该项目将为您提供一个ID。然后将该ID放入app.yaml或appengine-web.xml中。通常,当您使用命令行或应用程序引擎启动器上载时,会询问您的凭据。。。在其他一些情况下,它是项目的配置文件。也许你的android studio被以前的帐户卡住了,而这个帐户对你的新项目没有权限