我一直在考虑将Facebook Connect 用于我正在构建的新网站,但Facebook API似乎有点不稳定。
我一直在使用的代码是基本的,但示例应用程序'therunaround'也存在类似的问题。
例如,朋友列表并不总是加载,并且并不总是检测到登录的Facebook用户。
这些问题纯粹是因为我刚刚开始吗?
答案 0 :(得分:4)
我用Facebook Connect实现了一些网站。简短的回答是肯定的;它很脆弱。加载时间可能很长,API调用经常失败,图像无法加载,并且必须使用第三方cookie的可怕现实。文档很不错,但经常过时。
你只需权衡你获得的收益(庞大的社区,非常酷的异花授粉,模板发布,朋友链接)与成为Facebook开发者的头痛。这个平台虽然超级年轻,但从长远来看它是值得的。我不建议现在完全替换传统的用户/通行证系统,但它非常适合链接帐户和发布“墙贴”到用户订阅源(这很容易实现)。
我对Facebook开发的最大抱怨之一是你必须为每个环境创建新的应用程序。有本地服务器?应用。有开发服务器吗?应用。直播服务器?另一个应用。每个都绑定到一个基本域,并且没有办法添加多个域(尽管子域工作)。您必须为每个环境配置每个应用程序。此外,您无法“编辑”墙模板的事实也很难;据我所知,你必须删除并重新开始(即使你只想纠正拼写或其他内容)。
这很奇怪。 Facebook开发的某些方面是与之合作的绝对快乐。有些是我最糟糕的发展经历。
答案 1 :(得分:2)
是的,您描述的问题可能仅仅是由于未正确使用API。
Facebook Connect仍然很新,并且偶尔会遇到问题,但总的来说它很稳定,并且正在由许多主要网站实施。
此开发者帖子可能与您的问题相关:(来自:http://www.facebook.com/developers/message.php)
在使用Facebook Connect JS API之前,请确保已加载功能 2009年2月26日下午1:35
几乎所有Facebook Connect的JS API 之后是异步加载的 调用FB.init()。因为 异步性,JS API不是 必要时立即可用 打完这些电话后。你应该 使用FB.ensureInit或 FB.Bootstrap.requireFeatures确保 在使用之前加载JS API 它们。
我们有一个wiki文档 更详细地描述了这一点。 但是,我们刚刚发现了一些 Connect应用程序正在调用Connect JS API,例如FB.Connect。*和 FB.Facebook。*之后立即 调用FB.init。这种方法会 导致间歇性故障,因为 这些功能可能尚未加载。
Pior到昨晚的推动,我们修了一个 我们的FeatureLoader.js.php中的错误 它总是自动凝视 Connect的异步加载 特征。修复错误后, 之前调用JS API的代码 使它们被装载的可能性更大 失败。如果你注意到了你的 连接应用程序正在获取功能 为Connect JS定义了erros 功能,请检查您的代码 确保它正在等待功能 在使用它们之前加载。