我一直在尝试建立一个连接到Facebook的网站。我一直在努力使用Facebook的API文档和网络上的示例(包括SO)。 API似乎在不断变化,因此大多数可用信息不再有效。使用Facebook C# SDK和Facebook Javascript SDK的混合我已经能够允许用户登录Facebook,授予我的网站offline_access(这是针对系统的WPF客户端方面)权限和拉基本的朋友信息。我创建了一个朋友邀请控件。我按照Facebook文档制作了下面的内容。我删除了不必要的代码以保持帖子简短。
<div id="fb-root">
<fb:serverFbml style="width: 755px;">
<script type="text/fbml">
<fb:fbml>
<fb:request-form method="POST" invite="true" type="My App Name"
content="You have been invited to xxxx. <%= Server.HtmlEncode(@"<fb:req-choice url=""http://apps.facebook.com/appname/"" label=""OK"" />") %>" >
<fb:multi-friend-selector showborder="false" actiontext="Invite your friends to use this application." />
<fb:request-form-submit />
</fb:request-form>
</fb:fbml>
</script>
</div>
<form id="MainForm" runat="server">
<asp:ContentPlaceHolder ID="MainContent" runat="server" />
</form>
<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript">
FB.init({
appId: 'xxxxx',
status: true,
cookie: true,
xfbml: true
});
</script>
我没有收到任何错误,但代码不会呈现朋友邀请控件。我在Java Script Test Console上检查了它并在那里渲染。有一些明显的事情我做错了所以我真的很感激这方面的一些帮助。如果有任何其他需要的信息,请在开始激怒我写一个愚蠢的问题之前告诉我。
答案 0 :(得分:2)
我也是在这种情况下,不知怎的,我解决了它。
代码是:
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"
xmlns:fb="http://www.facebook.com/2008/fbml"><body>
<div id="fb-root"></div>
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({appId: 'APP_ID', status: true, cookie: true, xfbml: true});
};
(function() {
var e = document.createElement('script');
e.type = 'text/javascript';
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
window.fbAsyncInit = function() {
FB.init({appId: 'APP_ID', status: true, cookie: true, xfbml: true});
FB.Event.subscribe('auth.login', function(response) {
login();
});
FB.Event.subscribe('auth.logout', function(response) {
logout();
});
FB.getLoginStatus(function(response) {
if (response.session) {
login();
}
});
};
</script>
<div id='outside_invite_box' style='display: none;'></div>
<div id='inside_invite_box'><fb:serverfbml width="615">
<script type="text/fbml">
<fb:request-form action="friends.php"
method="POST"
invite="true"
type="Invite"
content="Welcome to MyApp <fb:req-choice url='http://example.com' label='Join' />">
<fb:multi-friend-selector showborder="false"
bypass="cancel"
cols=4
rows=5
max=14
actiontext="Select Facebook Friends"/>
</fb:request-form>
</script>
</fb:serverfbml></div>
</body>
</html>
我认为这很有用。
答案 1 :(得分:-1)
如果你正在使用RoR,请查看宝石RestClient和FbGraph
否则开始使用RoR:)