我正在尝试设置一个简单的Facebook页面标签应用程序。我已经达到了这样的状态,我将access_token作为来自facebook图表的响应,似乎是正确的。我的问题是,在身份验证后,我被重定向到我的Facebook页面选项卡URL但在外面的facebook域,而不是用户选择的页面选项卡。
我的申请信息:
Display Name:MyContest
Namespace:mygoodcontest
Contact Email:myemail@something.com
App Domains: [ empty ]
Page Tab Name: Contest!
Page Tab URL:http://[mystaticip]:8080/facebookContest/app/index.do
Secure Page Tab URL:https://[mystaticip]:8443/facebookContest/app/index.do
Page Tab Edit URL:https://[mystaticip]:8443/facebookContest/app/admin/
这个帖子似乎与我的问题完全相关,似乎得到了无关紧要的回答。 Redirect to Facebook page tab after authentication
和这个线程,与我遇到的问题差不多,但在画布应用程序上。不在Facebook页面选项卡应用程序上 Facebook canvas app "redirect_uri" breaks out of iframe after authorization & authentication
我所追求的是,在成功授权后,将经过身份验证的用户重定向到Facebook页面标签中。
谢谢大家的时间!
答案 0 :(得分:0)
在对用户进行身份验证时,您可以将redirect_uri
参数与要重定向用户的URL一起传递。您可以尝试在那里输入标签的网址。如果这不起作用(可能是因为你会得到错误,说uri不属于你的应用程序),你可以简单地从Facebook外面的页面重定向到你的标签。
答案 1 :(得分:0)
如果有人和我在同一个位置,这就是我设法用@darvex的帮助。问题是facebook肯定需要redirect_url param。此外,redirect_url参数必须与编辑页面选项中的页面选项卡URL相同。所以我的理解是facebook重定向facebook外的所有用户(在这种情况下“在facebook外面”意味着你的服务器,你的页面)然后,你必须处理这个http GET和@darvex说,将请求重定向到你的facebook页面使用javascript命令的选项卡。
当你重定向到你的Facebook页面标签时会发生魔力,例如www.facebook.com/mypage/app_12345678,请求到达您的句柄,因为有人请求您的页面选项卡。但是,这次facebook已注册该特定用户已对该应用进行了身份验证,因此,当时正在处理的http POST具有signed_request参数,如果您中断/解码(base64),您将在访问令牌中找到你需要的。此时,您有一个登录用户正在查看您的页面选项卡 - 在Facebook内 - 以及一个访问令牌来执行您的技巧。
我不知道这是否是最佳做法,但似乎有效。如果有人有更好的方法,请随时发布。
谢谢大家