将redirect_uri包含在getLoginUrl中时出错(Facebook PHP SDK)

时间:2012-02-17 17:20:19

标签: php facebook facebook-php-sdk

我希望在使用Facebook登录后将用户重定向到特定网页。我使用Facebook PHP SDK创建了一个LoginUrl,用户点击此链接即可登录。使用$facebook->getLoginUrl()

后我跟踪了http://developers.facebook.com/docs/reference/php/facebook-getLoginUrl/

问题:如果我要添加redirect_uri参数,Facebook会给我一个错误An error occurred. Please try again later.登录网址正常但不包含redirect_uri

任何人都知道如何解决这个问题?谢谢!

不可用的PHP代码

$loginUrl = $facebook->getLoginUrl(array(
        "scope" => "email,user_education_history,user_work_history",
        "redirect_uri" => "http://mydomain.com/login/facebook"
    ));

使用PHP代码

$loginUrl = $facebook->getLoginUrl(array(
        "scope" => "email,user_education_history,user_work_history",
    ));

2 个答案:

答案 0 :(得分:6)

我有same exact problem。 FB将参数从redirect_url更改为next从v2更改为v3,并且已经记录在案。试试next,应该适合你。

答案 1 :(得分:-1)

这是一个非常古老的主题,但是这里是我发现有效的解决方案,如果有人稍后再读它......首先,你在“非工作PHP代码”中的“redirect_uri”之后错过了逗号。如果您在应用程序设置(Canvas中的应用程序)中选择了“App on Facebook”,那么您的redirect_uri必须与您为Canvas App设置的URL相同。如果您只使用Page Tab,则redirect_uri可以是任何内容。

$loginUrl = $facebook->getLoginUrl(array(
    "scope" => "email,user_education_history,user_work_history",
    "redirect_uri" => "http://mydomain.com/login/facebook",
));
相关问题