facebook权限对话框php-sdk在iframe应用程序中着色

时间:2010-04-30 21:19:21

标签: php facebook

我遇到了facebook php-sdk new api,权限窗口的问题。 我在facebook iframe应用程序中使用facebook连接。

e-profpy app @ Facebook

当我尝试使用以下网址登录时,登录窗口在Facebook应用程序内部布局良好,但权限diolog正在被阴影屏幕覆盖。

这会导致什么? 我只使用php没有javascript facebook api。

由于

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。要修复它,您需要使用JS将用户重定向到FB授权页面,然后让FB将经过身份验证的用户传递回您的应用页面。您不需要使用JS API。

  • 首先,检查FB应用程序设置,并确保将“授权后重定向URL”设置为Canvas页面URL。 (例如http://apps.facebook.com/[YOUR APP] /)

  • 然后按照以下方式处理您的身份验证:

    $ session = $ facebook-> getSession(); $ me = null; if($ session){        尝试{           $ uid = $ facebook-> getUser();           $ me = $ facebook-> api('/ me');        } catch(FacebookApiException $ e){           error_log中($ E);        } }

    if($ me){       $ logoutUrl = $ facebook-> getLogoutUrl(); } else {       $ loginUrl = $ facebook-> getLoginUrl(array('next'=>“http://apps.facebook.com/[YOUR APP] /”)); }

    if(!$ me){        打印( “[HTML] [头]”);
           print(“[script type = \”text / javascript \“] function redirect(){top.location.href = \”“”;

           打印($ loginUrl);
           print(“\”;} [/ script] [/ head]“);
           print(“[body onload = \”redirect(); \“]请等待... [/ body] [/ html]”);        出口(); }

(我不知道如何让标签出现在这里,所以我使用方括号。你会想要替换那些)

答案 1 :(得分:2)

有一个更好的解决方案来处理iframe基础画布应用程序。请查看以下教程http://www.phpfour.com/blog/2010/05/quick-start-on-new-facebook-php-sdk-iframe-based/#content