我正在尝试在他们的Python教程之后在Google Engine上部署基本的HelloWorld应用程序。我创建了一个 helloworld.py 文件和一个 app.yaml 文件,并从他们的在线教程中复制了代码。我注册了Google App Engine并尝试了所有操作,但不断收到以下错误:
2015-08-19 19:22:08,006 ERROR appcfg.py:2438 An error occurred processing file '':
HTTP Error 403: Forbidden Unexpected HTTP status 403. Aborting.
Error 403: --- begin server output ---
You do not have permission to modify this app (app_id=u'helloworld').
--- end server output ---
If deploy fails you might need to 'rollback' manually.
The "Make Symlinks..." menu option can help with command-line work.
*** appcfg.py has finished with exit code 1 ***
以下是来自helloworld.py的代码:
import webapp2
class MainPage(webapp2.RequestHandler):
def get(self):
self.response.headers['Content-Type'] = 'text/plain'
self.response.write('Hello, Udacity!')
app = webapp2.WSGIApplication([
('/', MainPage),
], debug=True)
这是来自app.yaml文件的代码:
application: helloworld
version: 1
runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /.*
script: helloworld.app
权限存在问题,即Google App或笔记本电脑的设置?我已经尝试了stackoverflow上的所有内容,所以任何新的建议都将非常感谢!!
答案 0 :(得分:31)
在我的情况下,我被拒绝,因为appcfg将我的ouauth2令牌保存在文件~/.appcfg_oauth2_tokens
中,这恰好是另一个appengine帐户。只需删除该文件,然后重试。它应该工作。这是在Mac,但我不确定Windows。
答案 1 :(得分:5)
好的,现在有更简单的方法可以做到这一点。
如果您收到此消息"您无权修改此应用程序" 但你的id在app.YAML中是正确的,请执行以下操作:
在桌面上启动Google App Engine Launcher 点击左上角的控制标签 - > "清除部署凭据"
多数民众赞成!
答案 2 :(得分:2)
app.yaml
中的应用程序名称有点像域名。一旦有人保留它,没有其他人可以使用它。您需要转到here,然后从屏幕顶部的下拉菜单中选择“创建项目...”。在弹出窗口中,它会建议项目ID,或者您可以选择自己的项目ID。许多项目ID被采用,因此您需要指定一些不寻常的东西以获取未采取的内容。
然后,您将此项目ID放在应用程序行中的app.yaml
中。然后,您应该能够上传您的项目。
答案 3 :(得分:1)
确保您已在GAE中创建了一个项目,项目ID 与您在app.yaml中的配置完全相同
的工作流程:
答案 4 :(得分:1)
提到的app.yaml中的应用ID('应用:')是' helloworld'这似乎是你好世界应用程序的默认值。使用以下代码创建新应用:https://console.cloud.google.com/home/dashboard并使用app.yaml中的新应用ID。
请查看:Application for gae does not deploy已回答Linux平台的类似问题,我们需要删除:〜/ .appcfg_oauth2_tokens *以解决权限错误。