1

我正在尝试设置一个简单的 facebook 页面选项卡应用程序。我已经达到了从 facebook 图获得 access_token 作为响应的状态,并且似乎是正确的。我的问题是,在身份验证后,我被重定向到我的 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/

该线程似乎与我的问题完全相关,并且似乎得到了无关紧要的回答。 身份验证后重定向到 Facebook 页面选项卡

这个线程与我遇到的问题大致相同,但是在画布应用程序上。不在 Facebook 页面选项卡应用程序 上 Facebook 画布应用程序“redirect_uri”在授权和身份验证后中断 iframe

我所追求的是在成功授权后将经过身份验证的用户重定向到 facebook 页面选项卡内。

谢谢大家的时间!

4

2 回答 2

0

验证用户时,您可以redirect_uri使用要重定向用户的 URL 传递参数。您可以尝试在那里输入标签的网址。如果这不起作用(可能是因为您会收到错误消息说 uri 不属于您的应用程序),您可以简单地从 Facebook 外部的页面重定向到您的选项卡。

于 2013-01-21T14:40:58.517 回答
0

如果有人和我处于相同的位置,这就是我在@darvex 的帮助下设法做到的。问题是 facebook 肯定需要 redirect_url 参数。此外,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 内 - 和一个访问令牌来做你的伎俩。

我不知道这是否是最佳做法,但似乎有效。如果有人有更好的方法,请随时发布。

谢谢你们

于 2013-01-24T08:13:08.523 回答