我正在做一个关于appengine的应用程序,它在那里工作得很好。我在facebook canvas url http://xx.appspot.com/yyy/上有应用程序的URL(带有斜杠),当从http://apps.facebook.com/appname调用应用程序时得到
405不允许的方法此方法不允许POST方法 资源。
类MainHandler(webapp2.RequestHandler): def get(self):#do stuff here here def post(self):传递
app = webapp2.WSGIApplication([ ('/ yyy /',MainHandler), ( '/',anotherHandler),
],debug = True)
注意:在appengine日志中没有这样的错误。
答案 0 :(得分:7)
它正在尝试对您的应用进行POST,但您没有配置处理器来接收它。
你有GET
处理程序的地方:
def get(self):
dostuff
你还需要一个POST
犯罪者:
def post(self):
dostuff
从我上次看到这个时的记忆开始,它可能试图完成授权过程中的一个步骤或向您发送一些数据。
答案 1 :(得分:3)
美好的一天!
好像我最终弄明白我的问题是什么。我在应用程序中定义了post方法,因为Paul C(这是正确的)已经提到但我仍然得到相同的405错误消息。原因是,我没有更新从appengine仪表板运行的应用程序的默认版本&更新了我的应用版本。
如果您遇到同样的问题,请确保您使用的是哪个版本的应用。 https://appengine.google.com/deployment?app_id=s~APP_ID&version_id=default:
我希望没有人经历过同样的经历。 谢谢大家。