我正在尝试让我们网站的用户轻松地在我们的Facebook页面上部署托管在我们服务器上的小部件,作为iframe。
我们不想使用<fb:iframe />
因为显然他们不被允许wont be supported in the future。
关注the instructions here,这就是我们所做的:
我们用
创建了一个应用程序画布设置:
http://apps.facebook.com/{app-name}/
http://{my-server}/fb/
个人资料设置:
{tab_name}
http://apps.facebook.com/{app-name}/{app-name}?wid={unique_identifier}
创建了一个Facebook页面并将该应用程序添加到该页面。
和我们的网络服务器docroot中“fb”文件夹下的index.php
如下:
<?php
echo '<a onClick="outside_location.setInnerFBML(link_1);console.log(link_1)" style="cursor: pointer;">Let\'s see the iframe here</a>';
echo '<div id="outside_location"></div>';
echo '<fb:js-string var="link_1">';
$wid = $_GET['wid'];
echo "<iframe height='500' allowTransparency='true' frameborder='0' scrolling='no' style='width:100%; border:none' src='http://<some_domain>/$wid' >";
echo '</iframe>';
echo '</fb:js-string>';
echo '<script type="text/javascript" charset="utf-8">
var outside_location = document.getElementById("outside_location");
</script>';
?>
以上步骤有效。但我们希望更容易做到这一点。现在,我们的用户必须经历这个繁琐的创建Facebook应用程序并将其添加到Facebook页面的过程,只是为了将他们的小部件放在他们的Facebook页面上。有没有办法使用一些facebook API来自动执行此操作或减少所涉及的步骤数量?
我们向用户提供的每个小部件都有唯一的ID和网址。因此,当用户在我们的网站上创建新的小部件时,我们希望能够告诉用户一些快速简单的步骤,以便能够将小部件添加到他们的Facebook页面或者尽可能完全自动化整个过程。
答案 0 :(得分:0)
如果这是一个标签应用程序,那么您可以使用page_id。 Facebook应该将它传递给你。这看起来是一个老式FBML风格的应用程序。您可能会发现将应用程序转换为iFrame更容易,并使用传递的signed_request POST变量来标识页面。