Google app engine 从AppEngine调用GoogleApps脚本作为webapp返回405

Google app engine 从AppEngine调用GoogleApps脚本作为webapp返回405,google-app-engine,google-apps-script,urlfetch,Google App Engine,Google Apps Script,Urlfetch,当我尝试调用作为webapp发布的GAPPS脚本时,我遇到了问题。我正试着从AppEngine呼叫这项服务。我正在使用JSON负载对此脚本执行POST方法。Urlfetch选项设置为跟随重定向并超时30秒。该脚本是公开的,对匿名用户开放 在我本地的GAE开发机器上,脚本的URLFetch响应是200,一切正常 当我转到生产环境时,脚本会被执行,但会返回错误和HTML页面。 我在URLFetch上跟踪重定向,并将截止时间设置为30秒 状态响应:405 答复案文: Google Drive-未找到页

当我尝试调用作为webapp发布的GAPPS脚本时,我遇到了问题。我正试着从AppEngine呼叫这项服务。我正在使用JSON负载对此脚本执行POST方法。Urlfetch选项设置为跟随重定向并超时30秒。该脚本是公开的,对匿名用户开放

在我本地的GAE开发机器上,脚本的URLFetch响应是200,一切正常

当我转到生产环境时,脚本会被执行,但会返回错误和HTML页面。 我在URLFetch上跟踪重定向,并将截止时间设置为30秒

状态响应:405

答复案文: Google Drive-未找到页面/*版权所有2014 Google Inc.保留所有权利*/ .goog内联块{position:relative;display:-moz内联框;display:inline block}*html.goog内联块{display:inline}*:first child+html.goog内联块{display:inline}驱动器徽标{color:91959c;字体系列:Open Sans,Arial,Sans serif;字体大小:27px;字体重量:300;位置:绝对;文本阴影:0 1px 1px白色;空白:nowrap}驱动器徽标img{padding:0.4em 0 0;position:relative;top:2px;vertical align:middle}drive logo a{color:91959c;text decoration:none}drive logo span.goog inline block{margin top:2px;vertical align:top}body{background color:fff;font family:Arial,sans serif;font size:13px;margin:0;padding:0;}a,a,a:link,a:link,a:interest{color:112ABB;}.errorMessage{字体大小:12pt;字体大小:粗体;行高:150%;}

抱歉,您请求的文件不存在。

请检查地址,然后重试。

使用Google Drive完成工作。

Google Drive中的应用程序可以轻松创建、存储和共享在线文档、电子表格、演示文稿等。

了解更多信息,请访问

响应标题:Expires=Fri,01 Jan 1990 00:00:00 GMT 响应头:X-XSS-Protection=1;模式=块 响应标题:备用协议=443:quic,p=0.02 响应头:Set Cookie=NID=67=ksieonzrwkqwvet8e4m2ruo2noej6qrh80lxtppgkyqux2igfn-bhoqn7r5yn0f4wayttbxda6y2iaa3ftrbman6qf526mpkzzek7nsquvc4wvthdsl4p11yx;域=.googleusercontent.com;路径=/;过期=周二,2015年6月2日23:39:38 GMT;仅http 响应头:X-Google-Cache-Control=远程获取 响应头:Server=GSE 响应头:缓存控制=无缓存,无存储,最大期限=0,必须重新验证 响应头:Pragma=无缓存 响应标题:X-Content-Type-Options=nosniff 响应标题:X-Frame-Options=SAMEORIGIN 响应标题:日期=2014年12月1日星期一23:39:38 GMT 响应标题:P3P=CP=这不是P3P策略!有关更多信息,请参阅。 响应头:允许=头,获取 响应标题:x-chromium-appcache-fallback-override=不允许回退 响应头:Via=HTTP/1.1 GWA 响应标题:内容类型=文本/html;字符集=utf-8 有趣的是,尽管脚本在大多数情况下都能工作,但并不总是对所有用户有效

您可以看到响应头显示Allow=HEAD,GET,但我在脚本中实现了doPOst

尽管如此,我还是试图通过重写整个内容来解决这个问题,以使用GET和一个参数,但我遇到了类似的问题


长话短说:在GAE local development server上使用status response 200时工作非常完美,部署到GAE>GAS时响应错误且行为不稳定。作为webapp运行时,GAS非常挑剔。有时将脚本放入Google Drive上的公用文件夹会有帮助。

谢谢@dflorey,我会尝试一下。现在,我还打开了一个勾号et您使用的是Python还是Java AppEngine SDK?@user3355018 Java GAE SDK…我使用所描述的截取的代码对AppScript进行POST调用,效果非常好。@user3355018您是否调用Gapps脚本?部署在GAE或本地devserver上?您是通过POST发送有效负载还是通过POST获取有效负载?我通过POST请求发送json有效负载,两者都适用于m本地开发服务器和从GAE到作为web应用部署的AppScript。