简体   繁体   中英

Google App Engine app deployment

I'm trying to deploy a basic HelloWorld app on Google Engine following their tutorial for Python. I created a helloworld.py file and an app.yaml file and copied the code from their online tutorial. I signed up for Google App Engine and have tried everything but keep getting the following error:

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 ***

Here is the code from 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)

And here is my code from the app.yaml file:

application: helloworld
version: 1
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /.*
  script: helloworld.app

Is there a problem with permissions ie Google App's or my laptop's settings? I have tried everything that's out there on stackoverflow so any new suggestions will be much appreciated!!

In my case, I got refused because the appcfg save my ouauth2 token in the file ~/.appcfg_oauth2_tokens , which happen to be another account of appengine . Simply remove the file and try again. It should work. This is in Mac, I am not sure about windows though.

Ok there is a MUCH easier way to do this now.

If you are getting this message "You do not have permission to modify this app" but your id is correct within app.YAML do the following:

Bring up the Google App Engine Launcher on your desktop Click on the control tab on the top left --> "Clear Deployment Credentials"

Thats it!!!

The application name in app.yaml is sort of like a domain name. Once someone has reserved it, no one else can use it. You need to go here , and then select "Create a project..." from the dropdown at the top of the screen. In the popup, it will suggest a project id, or you can select your own. Many project id's are taken so you will need to specify something unusual to get something that is not taken.

You then put this project id in your app.yaml in the application line. You should then be able to upload your project.

Make sure you have created a project in GAE which project ID is exactly same to your configuration in app.yaml

workflow:

  1. Create a project in GAE and set a name
  2. At the same window you can edit the project ID
  3. copy the project ID and paste it when you create a new application in GAE launcher (or edit your app.yaml to set the value of application)
  4. deploy it and type {project-id}.appspot.com in your browser\\ Good luck!

App ID ( 'application:' ) in app.yaml mentioned is 'helloworld' which seems to be default for hello world app. Create a new app using: https://console.cloud.google.com/home/dashboard and use the new app ID in app.yaml.

Please have a look at: Application for gae does not deploy that has answer to similar question for Linux platform, where we need to delete : ~/.appcfg_oauth2_tokens* to resolve the permission error.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM