如何将CQ5/AEM页面与Facebook应用程序集成

如何将CQ5/AEM页面与Facebook应用程序集成,facebook,facebook-apps,aem,Facebook,Facebook Apps,Aem,我想知道如何在不编写专用servlet的情况下在Facebook应用程序中显示CQ5页面? Facebook添加了一个表单post来检索标记并插入iFrame。 显然,CQ5页面不允许POST操作,除非您编写一个专用的sling servlet来处理 由于某种原因,该页面位于/content/dam 以下是Facebook应用程序在画布中添加的内容: <form action="<url>" method="post" target="iframe_canvas_fb_http

我想知道如何在不编写专用servlet的情况下在Facebook应用程序中显示CQ5页面? Facebook添加了一个表单post来检索标记并插入iFrame。 显然,CQ5页面不允许POST操作,除非您编写一个专用的sling servlet来处理

由于某种原因,该页面位于
/content/dam

以下是Facebook应用程序在画布中添加的内容:

<form action="<url>" method="post" target="iframe_canvas_fb_https" id="canvas_iframe_post_522050a15f2c72f17540952" onsubmit="return window.Event &amp;&amp; Event.__inlineSubmit &amp;&amp; Event.__inlineSubmit(this,event)"><input type="hidden" autocomplete="off" name="signed_request" value="TKQ-UKDi8meFDQgQaq_5c3LWD2R06EiibRdrTk7XldE.eyJhbGdvcml0aG0iOiJITUFDLVNIQTI1NiIsImlzc3VlZF9hdCI6MTM3Nzg0OTUwNSwidXNlciI6eyJjb3VudHJ5IjoiaGsiLCJsb2NhbGUiOiJlbl9HQiIsImFnZSI6eyJtaW4iOjIxfX19"><input type="hidden" autocomplete="off" name="locale" value="en_GB"></form>

<iframe class="smart_sizing_iframe" frameborder="0" scrolling="yes" id="iframe_canvas" name="iframe_canvas_fb_https" src='javascript:""' height="800" webkitallowfullscreen="" mozallowfullscreen="" oallowfullscreen="" msallowfullscreen="" style="height: 232px;"></iframe>


如果没有专门的处理程序,任何框架都无法处理
POST
操作……当它收到帖子时,它将如何决定该做什么?根据我通过谷歌小组所做的研究,这是一条引语:“根本问题是Sling POST servlet是任何帖子请求的默认设置……”。由于页面驻留在一个内容大坝中,因此没有专门的sling servlet来处理这样的请求?您问的是如何在仍然使用默认servlet的情况下处理不遵循默认行为的POST请求?这是不可能的。但是编写自定义servlet有什么问题呢?原因是页面驻留在内容数据库中。我只是在想,如果不编写自定义servlet,是否可以克服这种默认行为。撇开这一点不谈,POST servlet的默认行为是修改JCR内容。想必,您不希望Facebook的初始请求对该内容进行修改,而是希望进行POST/Redirect/GET设置?如果是这样,那么无论内容驻留在哪里,都需要一个自定义处理程序。(您可以通过JSP实现这一点,但无论如何都需要自定义代码&一个用于处理程序的servlet将是更好的做法。)