首先,祝你好运,祝好 - 你需要它。维护Facebook应用程序的方式是,因为Facebook不会相信传统支持,会随时更改内容,并且会快速完全弃用内容。作为一个(前)Facebook应用程序开发人员,我可以告诉你只有一个常数:如果你让他们独处,应用程序将会死亡。作为一名应用程序开发人员,Facebook欠你无用,而且在打破应用程序方面是恶毒的。
至于具体情况:截至2012年6月,Facebook有deprecated and removed FBML和REST API,并不再有帆布的应用程序和应用程序的iFrame之间任何区别。这不是一个软弱的,“你不应该使用它”的贬低 - 这是一个困难的,“你的应用程序现在被打破”弃用。 全部应用程序现在是iFrame应用程序,因为不再有任何其他方式来构建它们。有关如何构建canvas/iFrame应用程序的文档是here,并且有一个auth migration guide可能有助于转换。噢,如果你还没有使用HTTPS,你也需要让你的应用程序运行在HTTPS上。
至于其余部分,它很糟糕,但您真正能够维护并获得应用程序的唯一方法是使用Open Graph API。 使用PHP SDK,您只需运行$facebook->api('/graph/url/here')
- 例如,获取用户信息,运行$facebook->api("/$userid")
。您可以从Open Graph文档获取URL - 只需抓住graph.facebook.com
位后的所有内容并将其传递给api()
即可。这是另一种学习曲线,并且(取决于代码的复杂性/模块化)是从很多到噩梦般的变化之中的任何地方,并且没有替代品。有时你可以用使用旧的REST api,但是我怀疑它会持续很长的时间。这很痛苦,但事情就是这样。你受Facebook的摆布,因为这是他们的数据。
升级应用程序涉及转变思维:应用程序现在实际上只是Facebook chrome所包围的网页。现在有没有区别使用Facebook的api拉入信息的外部网站和在Facebook内部运行的应用程序。基于这个原因,我个人认为我已经转移到了我自己的应用程序 - 一个外部网站,恰好使用Facebook的大部分发布/共享/用户信息需求。
对于授权,您可以使用任意数量的方法通过OAuth请求权限。有关于如何做over on Facebook的文档也是如此。特别是对于PHP API,您使用getLoginURL()生成URL,然后重定向到。 Facebook最终会重定向到您指定的URL,并提供有关他们是否授权您的应用的信息,之后您可以执行getUser()
。如果你想要花哨/光滑/用户友好的弹出对话框而不需要一堆重定向,Javascript SDK是你的朋友。
感谢此信息。我现在怀疑,如果我甚至应该尝试移植它:第 – 2012-02-03 08:43:22
哈,是的,这是我的目标 - 澄清它不只是更新几个电话。如果这对你是值得的,那就去做吧,这将是一个很好的(如果可能令人沮丧的)学习经验和所有。我有一个重要的用户群,就像我说的,我现在正在将我的应用程序重新编写为外部网站。它最终也可能有一个Facebook iFrame,但它不像更新几个电话那么简单。 – cincodenada 2012-02-03 23:49:41