我正在忙着创建我的第一个Facebook应用程序,虽然我有PHP和Javascript经验,但我很难理解为Facebook设置应用程序的逻辑如何工作。
从最低限度起,我了解到我需要:
1)opengraph元标记的目的是什么?这会影响我的申请吗?
2)剧本:
<!-- Load the Facebook SDK -->
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
// IS IT FAIR TO ASSUME THIS AREA BELOW CREATES THE FACEBOOK OBJECT?
window.fbAsyncInit = function() {
FB.init({
appId : 'APP ID', // App ID
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
oauth : true, // enable OAuth 2.0
xfbml : true // parse XFBML
});
};
// WHAT DOES THIS DO?
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
3)脚本(也在上面)。这是做什么的?我能否认为这与jQuery框架类似,并且我需要加载上面的代码?
<script src="http://connect.facebook.net/en_US/all.js"></script>
4)我的HTML标记更改为以下代码。这需要什么以及为什么?
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:og="http://ogp.me/ns#"
xmlns:fb="https://www.facebook.com/2008/fbml">
5)虽然我理解包含PHP库背后的逻辑,但Javascript和PHP库有什么区别?它是否有效地做同样的事情?
很抱歉这些愚蠢的问题,但实际上,我发现Facebook对于某人尝试进入应用程序开发并不是非常友好,因为他们的文档感觉“分散”并且不是最新的?
答案 0 :(得分:1)
1 - 实际上在documentation中很好地解释了开放图形协议。其中的数据是Facebook将为您的页面编制索引,因此当有人与页面进行交互时显示的内容(例如,等)
2 - 在你写过的空间'//你做了什么?',你可以在facebook api加载后立即运行你想要运行的方法和功能。因此,您可能希望隐藏所有Facebook部门等,直到此时,或者在api准备好后立即采取一些操作来获取用户的登录状态。另请注意,您在上面的代码中不需要这个位:
<script src="http://connect.facebook.net/en_US/all.js"></script>
这已经加载到你的'(函数(d){...'位于底部。在加载js api时查看documentation。
3 - 这是加载facebook js api
的脚本标记4 - 这是您需要告诉页面的名称空间,以便它读取og元数据。同样,这在open graph protocol documentation
中得到了很好的解释5 - JS是客户端。 Php是服务器端。