405方法不允许POST请求此资源appengine facebook应用程序。

3
我正在使用Appengine开发应用程序,它在那里运行得很好。我在Facebook画布URL上有应用程序的URL http://xx.appspot.com/yyy/ (带有尾部斜杠),当从http://apps.facebook.com/appname 调用应用程序时,出现以下错误:

405方法不允许POST请求此资源。

class MainHandler(webapp2.RequestHandler): def get(self): #do stuff here def post(self): pass

app = webapp2.WSGIApplication([ ('/yyy/', MainHandler), ('/',anotherHandler),

], debug=True )

注意:在Appengine日志中没有此类错误。

http://stackoverflow.com/questions/3730032/http-error-405-method-not-allowed-error-in-admin-log在管理日志中出现HTTP错误405方法不允许的错误。http://facebook.stackoverflow.com/search?q=appengine+405+Method+Not+Allowed在Facebook Stack Overflow上搜索appengine 405方法不允许的错误。 - CBroe
2个回答

7

它试图向您的应用程序发起POST请求,但您没有配置处理程序来接收它。

您的GET处理程序所在位置:

 def get(self):
     dostuff

你还需要一个 POST 处理程序:

def post(self):
    dostuff

据我上次查看的记忆,它可能正在尝试完成授权过程中的某一步骤或向您发送一些数据。


好的,除非Facebook来找它,否则它不会输出“test”。建议您从他们的一个工作示例开始? - Paul Collingwood

3

你好!

看来我终于找到了我的问题所在。我像Paul C提到的那样将应用程序定义为POST方法,但仍然收到相同的405错误消息。原因是我没有更新从appengine仪表板运行的默认版本和更新我的应用程序版本。

如果你遇到相同的问题,请确保你使用的是哪个版本的应用程序。请访问https://appengine.google.com/deployment?app_id=s~APP_ID&version_id=default

希望没有人经历过我这样的经历。

谢谢大家。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接