我在通过Adobe AIR中的Javascript客户端库连接到Facebook时遇到问题。它在浏览器中工作正常但在Adobe AIR中似乎无法找到Facebook功能。以下是我从Facebook网站上复制的一些代码:(哦,我也有正确路径的xd_receiver.htm文件)
<textarea style="width: 1000px; height: 300px;" id="_traceTextBox">
</textarea>
<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript"></script>
//
var api = FB.Facebook.apiClient;
// require user to login
api.requireLogin(function(exception){
FB.FBDebug.logLevel=1;
FB.FBDebug.dump("Current user id is " + api.get_session().uid);
// Get friends list
//5-14-09: this code below is broken, correct code follows
//api.friends_get(null, function(result){
// Debug.dump(result, 'friendsResult from non-batch execution ');
// });
api.friends_get(new Array(), function(result, exception){
FB.FBDebug.dump(result, 'friendsResult from non-batch execution ');
});
});
});
//]]>
</script>
答案 0 :(得分:1)
实际上并不是那么简单,从应用程序沙箱加载外部脚本文件的问题是它不受支持。从技术上讲,通过使用iframe,您应该能够这样做并且它可以工作但是根据我的经验,仍然无法在根文档中使用XFBML。经过两天的反复试验,在html / ajax adobe air应用程序中使用Facebook Connect的最简单方法是下载actionscript库并将其包含在内:
<script type="application/x-shockwave-flash" src="lib/facebook.swf"></script>
<script type="text/javascript">
var FB = window.runtime.com.facebook;
var fb = new FB.Facebook();
var session = new FB.utils.DesktopSessionHelper();
//etc...
</script>
然后只需参考文档。我现在唯一的问题是我还没有找到一个在adobe air中使用XFBML的有效方法,简单地将facebook命名空间添加到html标签不幸的是不行。如果有人知道,请分享谢谢
答案 1 :(得分:0)
您还需要将xml命名空间(主html标记)更改为:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en-gb" lang="en-gb">