我有一个需要授权的Facebook应用,因此我必须传递一个重定向网址以及验证请求。
我的应用程序是前端代码。
如果我不是独立版本,我可以通过window.location.href 这样的东西对app-page不起作用,因为它是来自不同服务器的iframe。因此,在这种情况下,我必须对app-url进行硬编码。 该应用程序旨在嵌入不同的应用程序页面,所以我不能硬编码。很明显我可以使用facebook api获取facebook页面标签链接等。但是还没看好细节。 Redirect back to page tab after user authenticates?
由于facebook不允许参数,我的计划是将/ pagetab /或/ app /添加到我的网址末尾,并将其添加到facebook设置中的各个网址。之后,我将为不同的url-endings创建不同的案例。
虽然这种灵魂听起来像是很多工作。有更好的方法吗?
答案 0 :(得分:1)
如果您的应用不是完全是客户端,那么您可以在signed_request
参数中找到您的应用嵌入的信息。但是,由于Facebook在调用你的应用程序时将其发送到iframe,因此无法在客户端访问它。
因为facebook不允许参数
Facebook允许在网址中使用名为app_data
的参数,该参数会传递到您的应用。但同样,这在第一页加载时通过POST发生。
如果您愿意(并且能够,关于您的平台)对服务器端语言(而不是纯静态HTML页面)生成的应用程序HTML代码进行微调,那么您可以轻松地评估signed_request
参数,并将页面ID写入JavaScript变量,以便您可以从那里使用客户端。