Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook graph api 开发环境中的Facebook开放图_Facebook Graph Api_Facebook Opengraph - Fatal编程技术网

Facebook graph api 开发环境中的Facebook开放图

Facebook graph api 开发环境中的Facebook开放图,facebook-graph-api,facebook-opengraph,Facebook Graph Api,Facebook Opengraph,我们正在使用Facebook Graph API开发一个web应用程序。当然,我们有一个Facebook应用程序,为了回答这个问题,我将其称为“MyApp” 为了使我们的开发人员能够在本地运行和调试服务器,我们有一个始终沙盒的Facebook应用程序,我将其称为“MyAppDev”。此应用程序的域是localhost:8080。这使得在开发机器上进行Facebook身份验证成为可能。这样,我们就为开发和生产提供了一组不同的auth令牌,开发周期很短,每个人都很高兴 但当涉及到开放图形时,事情变得

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

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

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

  • 这打破了开发人员能够从自己的环境中运行东西的模式。我怀疑这会导致开发周期变慢
  • 没有自动同步开放图配置的方法(至少我不知道),因此我们需要手动将配置(例如,操作/对象)从MyAppTest复制到MyApp。这很容易出错
  • 所以我的问题是,开发和测试开放图应用程序的常见做法是什么?这和我描述的一样吗?有更好的办法吗

    提前感谢,
    亚尼夫

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

    是的,这真的是一个p.i.t.a.——我希望Facebook能想出一个更好的方法;至少一个“同步”功能会很好


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

    我们的协同开发环境中也存在同样的问题。至少我们可以通过本地副本验证facebook,但在发布故事时,我们无法从FB.api()获得成功响应

    这是具体的错误:

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

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


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

    ,我想您有一个单独的应用程序用于开发/测试,其中包含与prod中相同的一组重复的操作和对象,您是否确保它们是同步的?那么每个开发人员都可以从互联网上访问他们的机器?这真的是一种普遍的做法吗?至少对我们来说,我们看不到有任何办法可以使用单独的开发/生产应用程序,并手动更新OG设置——就像我说的,一个PITA,但在测试新东西时使用生产应用程序当然是不可能的…