如何通过Graph API动态注册Facebook应用程序,就像wildfireapp和其他应用程序一样?

3

我正在尝试创建一个抽奖应用。

我想复制wildfire的模式。

但是我无法像他们一样动态地创建Facebook应用程序。

我检查了一下,他们在前端使用图形API显示,但是在图形API中没有可用于动态创建应用程序的方法。

请问是否有人可以指导我如何进行动态应用程序的创建。是否有其他可行的方案?


我不认为他们会动态地“创建”应用程序,他们将现有的应用程序“添加”到您的页面中。但是,我没有检查过他们的平台。 - ifaour
2个回答

6
一般来说,他们可能不会为每个客户创建新的应用程序。除非您能向我们展示证据,否则这是同一个应用程序被安装到他们客户的Facebook页面上多次。
应用程序脚本可以检测页面ID并相应地更改显示逻辑。在此处查看: 获取Facebook粉丝页ID 如果您真的想为您的客户创建应用程序,请查看此线程: http://facebook.stackoverflow.com/questions/6264080/create-a-facebook-application-programmatically 编辑(无法评论太可怕了)以回应J的帖子: 没有一种完全以编程方式创建应用程序的方法,但您可以围绕用户流程创建一个接近的方式:

https://www.facebook.com/connect/create_app.php?api_key=[key]&name=app_name

其中 [key] 是父应用程序的 api_key。它没有任何文档记录,因此您应该有一个手动备份。上面的链接确实可以创建一个新的 Facebook 应用程序,与当前登录的用户相关联(父 api_key 似乎没有任何影响,但是它是必需的)。
要确定所创建应用程序的 api_key,请请求用户适当的权限并查询 /accounts 以检索用户拥有的 Facebook 应用程序列表。在用户单击上面的链接之前和之后执行此操作,以确定刚刚创建的应用程序。从那里开始,让用户获取新的 access_token 并获得修改应用程序设置的适当权限。然后,您应该自定义新创建的应用程序。
Mike

哇!我觉得这就是我一直在寻找的东西。那么,您能告诉我如何在应用程序创建后获取应用ID和API密钥吗?您已经提供了获取用户应用程序列表并进行匹配的解决方案。但是,我该如何配置应用程序的URL,例如站点URL、画布URL? - Inam Abbas
这是一个不错的想法。那么页面选项卡名称呢?所有粉丝页面的名称都将完全相同。是否有一种方法可以根据粉丝页面进行重命名? - CappY

2
这在旧的Facebook论坛中已经多次提到过。
Wildfire、North Social等不会动态创建应用程序。安装的是同一个应用程序。
这怎么可能呢?当一个页面加载选项卡应用程序时,Facebook会向您传递一个signed_request参数。当您使用应用程序的id和密钥解码此签名请求时,您将找到调用选项卡应用程序的页面ID。然后,您可以使用此信息来确定哪个客户正在调用您的代码,从而决定向浏览器提供什么内容。
最近有关于Graph API的更改,使您能够管理一旦创建的应用程序,但您不能(也很可能永远无法)通过Graph API以编程方式创建应用程序。
Mike提到的第二个线程提到了子应用程序,但这已经被Facebook代码库弃用了一段时间,并且实际上不允许以我认为您想要的方式创建应用程序。
J

Facebook: "要创建、管理或删除应用程序,开发人员必须转到应用程序仪表板。" - mateuscb
这并不完全正确。应用程序设置的某些元素可以使用Graph API进行编辑,但无法使用它创建新的应用程序。 - slashwhatever

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接