无法为Facebook画布平台创建应用程序。

3
我有一个应用程序(web、iOS和Android)。我想创建一个Facebook画布应用程序,它将只显示我们Web应用程序的第一页。为了实现这一点,我在Facebook开发人员控制台中创建了一个Facebook画布应用程序,并填写了所需的详细信息(安全画布URL: https://example.com ,移动站点URL: https://example.com )。我不确定什么是安全画布URL,所以我把我的Web应用程序链接放在了那里。但当我打开画布页面时( https://apps.facebook.com/some_id).它会给出405不允许错误。经过深入探究,我发现Facebook正在使用签名请求向我的Web应用程序发出POST请求(不确定是什么)。如何在Facebook画布页面上显示我的网页,请向我解释这些内容是如何运作的,我该如何实现它。提前感谢。

你为什么要创建一个画布应用程序,只显示你的Web应用程序的第一页? - WizKid
1个回答

0

Facebook通过向您的应用程序URL发出POST请求将应用程序加载到iframe中。 当您的URL不接受POST请求时,通常会收到405 Not allowed错误。

许多网络空间提供商设置了对“静态”资源(例如.htm/.html文件)的POST请求不被允许。

因此,您需要更改Web服务器配置中的设置(可能可以通过Apache上的.htaccess文件进行设置;如果不确定,请咨询您的服务器管理员/支持人员),或者您需要使用不同的“文件类型”作为您想要加载到画布中的应用程序的基本URL - 例如,如果PHP可用,则通常默认允许向PHP脚本发送POST请求。


什么是Secure Canvas URL以及随POST请求发送的signed_request? - nandanself
安全画布 URL 是您托管应用程序的 HTTPS URL。signed_request 是在将应用程序附加到 iframe 的其他加载中发送的参数,其中包含一些附加信息。https://developers.facebook.com/docs/games/gamesonfacebook/login#parsingsr,https://developers.facebook.com/docs/reference/login/signed-request - CBroe
@CBroe,你好,我的服务器是基于Django构建的,我正在处理POST请求以呈现一个静态HTML页面。当我从Postman REST Client发出请求时,网页被呈现出来,但在Canvas中我只得到一个空白页面。即使检查了它也为空。 - Sagnik Sinha
你的URL是HTTPS协议的,而且你有一个有效的SSL证书吗? - CBroe
是的,URL是HTTPS,但除此之外,没有其他东西。 - Sagnik Sinha
那么你能直接在浏览器中访问该URL吗,而不会出现任何关于HTTPS/证书的警告? - CBroe

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