使用getLoginUrl(Facebook PHP SDK)包含redirect_uri时出错


Error when including redirect_uri with getLoginUrl (Facebook PHP SDK)

我希望用户在使用Facebook登录后重定向到特定网页。我使用Facebook PHP SDK创建了一个LoginUrl,用户点击该链接登录http://developers.facebook.com/docs/reference/php/facebook-getLoginUrl/当使用$facebook->getLoginUrl()

问题:如果我包含redirect_uri参数,Facebook会给我一个错误An error occurred. Please try again later.登录url在不包含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",
    ));

我也遇到了同样的问题。FB将参数从redirect_url更改为next,从v2更改为v3,并且记录得很差。试试next,应该对你有用。

这是一个相当古老的主题,但如果有人稍后阅读,这是我发现有效的解决方案。。。首先,您在"非工作PHP代码"中遗漏了"redirect_uri"后面的逗号。如果你在应用程序设置中选择了"Facebook上的应用程序"(Canvas中的应用程序),那么你的redirect_uri必须与你为Canvas应用程序设置的url相同。如果您只使用页面选项卡,则redirect_uri可以是任何内容。

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