我希望用户在使用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",
));