2

我们正在使用 Facebook Graph API 开发一个 Web 应用程序。当然,我们有一个 Facebook 应用程序,为了这个问题,我将其称为“MyApp”。

为了让我们的开发人员能够在本地运行和调试服务器,我们有一个始终沙盒化的 Facebook 应用程序,我将其称为“MyAppDev”。此应用程序的域是 localhost:8080。这使得在开发机器上进行 Facebook 身份验证成为可能。这样,我们就有了一组不同的身份验证令牌用于开发和生产,我们的开发周期很短,而且每个人都很开心。

但是当涉及到 Open Graph 时,事情变得有点棘手。这是因为 Open Graph 对象必须由 Facebook 访问的真实 URL 支持。因此,我们不能真正在 MyAppDev 上定义对象和操作(如果我们在 MyAppDev 中使用生产 URL,它将与开发人员机器中的数据库不一致)。因此,似乎唯一的选择是开发人员共同使用测试服务器进行开发,使用第三个应用程序,我们称之为 MyAppTest。但这有一些缺点:

  1. 这打破了开发人员能够在自己的环境中运行事物的模式。我怀疑这会导致开发周期变慢。
  2. 没有自动同步 Open Graph 配置的方法(至少我不知道),所以我们需要手动将配置(例如,操作/对象)从 MyAppTest 复制到 MyApp。这很容易出错。

所以我的问题是,开发和测试开放图形应用程序的常见做法是什么?跟我描述的一样吗?有没有更好的办法?

提前致谢,
亚尼夫

4

2 回答 2

3

没有自动同步 Open Graph 配置的方法(至少我不知道),所以我们需要手动将配置(例如,操作/对象)从 MyAppTest 复制到 MyApp。这很容易出错。

是的,这真的是一个皮塔饼——我希望 Facebook 能想出一个更好的方法来做这件事;至少一个“同步”功能会很好。

至于测试 OG 对象——我可以看到,从开发人员自己的机器上进行测试的唯一可能解决方案是让该机器可以从互联网上访问;使用某种或类似的 DynDNS 服务。

于 2012-08-27T08:14:54.637 回答
0

我们在协作开发环境中遇到了同样的问题。至少我们可以从本地副本向 facebook 进行身份验证,但是在发布故事时我们无法从 FB.api() 获得成功的响应。

这是具体错误:

在此处输入图像描述

让我引用 Raj Rathore 提出的部分解决方案。我们尚未测试此解决方案,但我们肯定会这样做。

此问题的解决方案是在线部署您的应用程序或允许 localhost 隧道,以便 facebook 可以访问它。在我的开发环境中工作时,我更喜欢 localhost 隧道。

有关这方面的更多详细信息,请访问 Raj 的网站

于 2015-04-24T22:29:31.440 回答