facebook app dev;自动生成heroku prod主机;本地开发虚拟主机; tunnlr; FB登录问题

时间:2012-12-07 02:46:53

标签: facebook facebook-graph-api

我正在使用自定义Open Graph操作和对象开发我的第一个Facebook应用程序,并且我试图避免在每次代码更改后需要部署(在这种情况下,我自动设置heroku-account )。

当我设置测试我的第一个自定义操作的发布时,问题就开始了。我试图根据我的facebook-app的dev版本设置所有内容,除了我的" object"页面,据我所知,需要公开访问(刮掉OG元标记)。

我为我的自定义对象创建了一个测试页面,将自动生成的一组OG元标记复制到其中(引用我的app_id的开发版本,但是使用我的应用程序的prod版本的公共URL for og:url)然后,我使用了facebook" lint"这个测试页面上的工具,我猜也不足为奇,抱怨公共域名对相关应用程序(我的facebook应用程序的开发版本)无效。

Object Base Domain Not Allowed: Object at URL 
'http://foo.herokuapp.com/testEventPage.php' of type 'foo:product' is 
invalid because the domain 'foo.herokuapp.com' is not allowed 
for the specified application id '(the app_id)'.

然后,我学会了使用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>

我正在使用tunnlr,cmdln指向端口8888。

使用Tunnlr提供的公共URL,我成功访问了我的本地页面,但是,当我尝试使用&#34;登录&#34;来自Facebook的示例PHP代码附带的页面上的按钮,登录对话框弹出但立即消失,但在本地直接访问它时工作正常。

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

是否有更好的方法来开发Facebook应用程序,特别是涉及自定义Open Graph操作和对象的应用程序?

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

0 个答案:

没有答案