Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.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应用开发;自动发电机&x27;d heroku prod主机;本地开发虚拟主机;tunnlr;FB登录问题_Facebook_Facebook Graph Api - Fatal编程技术网

facebook应用开发;自动发电机&x27;d heroku prod主机;本地开发虚拟主机;tunnlr;FB登录问题

facebook应用开发;自动发电机&x27;d heroku prod主机;本地开发虚拟主机;tunnlr;FB登录问题,facebook,facebook-graph-api,Facebook,Facebook Graph Api,我正在使用自定义的OpenGraph动作和对象开发我的第一个Facebook应用程序,我试图避免在每次代码更改后部署(在本例中,是自动设置heroku帐户) 问题是在我准备测试第一个自定义操作的发布时出现的。我试着用我的facebook应用程序的开发版本来设置一切,除了我的“对象”页面,据我所知,它需要公开访问(以刮除OG元标记) 我为我的自定义对象创建了一个测试页面,将自动生成的OG元标记集复制到其中(引用我的app_id的dev版本,但使用我的app的prod版本的公共URL for OG:

我正在使用自定义的OpenGraph动作和对象开发我的第一个Facebook应用程序,我试图避免在每次代码更改后部署(在本例中,是自动设置heroku帐户)

问题是在我准备测试第一个自定义操作的发布时出现的。我试着用我的facebook应用程序的开发版本来设置一切,除了我的“对象”页面,据我所知,它需要公开访问(以刮除OG元标记)

我为我的自定义对象创建了一个测试页面,将自动生成的OG元标记集复制到其中(引用我的app_id的dev版本,但使用我的app的prod版本的公共URL for OG:URL),然后,我在该测试页面上使用了facebook的“lint”工具,我想这并不奇怪,抱怨公共域对于相关应用程序(我的facebook应用程序的开发版本)无效

然后,我学习了如何使用Tunnlr将公共站点的端口转发到我的本地环境,并着手进行设置

我将MAMP与虚拟主机配置一起使用,如下所示:

<VirtualHost *:8888>
  DocumentRoot "(the relevant docroot)"
  ServerName foo.local
  SetEnv FACEBOOK_APP_ID (my dev FB app-id)
  SetEnv FACEBOOK_SECRET (my dev FB secret)
</VirtualHost>

DocumentRoot“(相关的docroot)”
ServerName foo.local
SetEnv FACEBOOK_应用程序_ID(我的开发FB应用程序ID)
SetEnv FACEBOOK_机密(我的开发FB机密)
我使用的是tunnlr,它的cmdln指向端口8888

使用Tunnlr提供的公共URL,我成功地访问了我的本地页面,但是,当我尝试使用Facebook PHP示例代码附带的页面上的“登录”按钮时,登录对话框会弹出,但立即消失,尽管直接在本地访问时效果良好

这可能与饼干有关吗?与端口转发和cookie有关吗

有没有更好的方法来开发Facebook应用程序,特别是涉及自定义开放图形动作和对象的应用程序

编辑:正如医生所说,如果你那样移动手臂时感到疼痛,不要那样移动手臂!换句话说,通过Facebook画布URL访问Tunnlr URL,该URL将嵌入页面的当前登录发布到您自己的页面;并且,作为用户(可选的测试用户),不要使用示例代码的登录按钮;而是使用嵌入页面的登录功能。所以,我已经回答了我自己的问题

<VirtualHost *:8888>
  DocumentRoot "(the relevant docroot)"
  ServerName foo.local
  SetEnv FACEBOOK_APP_ID (my dev FB app-id)
  SetEnv FACEBOOK_SECRET (my dev FB secret)
</VirtualHost>