谷歌appengine部署授权问题

时间:2014-09-18 22:56:57

标签: google-app-engine authentication deployment

我在部署GAE时遇到了问题。我已经跑了两次,所以我应该拥有所有正确的lirbaries和诸如此类的东西。但显然我错过了一些东西。

  1. 我用googe appengine开发者注册了我的applet。
  2. 我在项目的app.yaml中输入app_id作为应用程序名称。
  3. 在cmd中,我转到google_appengine并运行" appcfg.py更新"在我的项目的根目录上。 " C:/开发/ GAE /的projectname"
  4. 输入电子邮件和pw,
  5. 然后我收到此错误消息

    12:47 AM Application: processing#######; version: 1
    12:47 AM Host: appengine.google.com
    12:47 AM 
    Starting update of app: processing######, version: 1
    12:47 AM Getting current resource limits.
    Password for ###########@gmail.com: Invalid username or password.
    2014-09-19 00:47:36,404 ERROR appcfg.py:2416 An error occurred processing file '': HTTP Error       401: Unauthorized. Aborting. 
    Error 401: --- begin server output ---
    Must authenticate first.
    --- end server output ---
    

    我想念的任何想法?我已经三重检查了所有这些步骤,这就是我能想到的全部内容。

    我的App.yaml包含此

    application: processing######
    version: 1
    runtime: python27
    api_version: 1
    threadsafe: yes
    
    handlers:
    - url: /statics
      static_dir: statics
    
    - url: /sketches
      static_dir: sketches
    
    - url: .*
      script: main.app
    
    libraries:
    - name: webapp2
      version: "2.5.2"
    - name: jinja2                                                                  
      version: latest 
    

    我已将GAE升级到最新版本,仍然没有变化。我也尝试将其上传到不同的应用程序,同样的问题。 我添加了2个静态文件夹,用于运行嵌入我网站的处理。

    PS我的应用程序在本地运行良好,没有任何错误或编译。我认为错误存在于其他地方。

    干杯

3 个答案:

答案 0 :(得分:3)

好像往常一样,更多的研究最终揭示了答案。和stackoverflow。 猜猜我先错过了这个,因为它用php指定。Stack Overflow Question

基本上我没有做任何错误的事情,许可问题是它被我的谷歌帐户阻止了。 我必须转到Account Security permissions,并启用安全性较低的设备。

这一定是谷歌改变的最新设置,因为我之前已经部署了2个应用程序。

这里要提到其他有同样问题的人: 首先完成我经历的步骤,确保一切设置正确。

然后你应该像我一样解决它。

否则您可以尝试进行设置,这样您就可以在没有密码的情况下上传,这可能会避免问题,如果它位于其他地方--oauth without pw

最后我读到了一些人的问题是在时区。当他们的计算机上的时间与GAE或服务器不同时,我认为这会导致错误传达,因此请仔细检查您的时间是否设置正确,并且它与您在启动器日志中看到的时间一致。

答案 1 :(得分:2)

对我来说,以下02选项有效

appcfg.py update . --oauth2 --noauth_local_webserver

身份验证流程为:

命令和选项在stdout中生成了一个url,我从浏览器中复制并访问了该浏览器,浏览器生成了一个代码,我在命令行中给出了该代码。我可以看到appcfg是我的谷歌帐户的连接应用程序和服务下的应用程序之一。

答案 2 :(得分:0)

您的用户或密码似乎有误。

您确定可以在developer console中访问项目,在权限下配置的电子邮件是您用来连接的电子邮件,yaml文件中的应用程序ID是否与开发人员控制台上的ID相同?如果是这样,我唯一能想到的就是密码失败。

也许一键被按下了?尝试在文本处理器中输入。

最后一个想法,通过sdk的启动器部署应用程序。在文件菜单中添加现有应用程序(搜索app.yaml文件),然后单击deploy以查看是否可以进行身份​​验证。