Facebook API错误191无效的redirect_uri(不在localhost上)

时间:2012-11-06 19:51:26

标签: facebook facebook-graph-api facebook-authentication

是的,另一个API错误191问题。

所以,我在页面标签中使用了一个应用程序 我的页面有两个不同的DNS:一个用于http(cime.fm),另一个用于https(securecdi.com)。
在我的身份验证页面上,我确保将其重定向到http或https服务器,因此它看起来像这样:

if($_SERVER['HTTP_HOST'] == 'dev.securecdi.com' || $_SERVER['HTTP_HOST'] == 'www.securecdi.com'){
    $http = 'https://';
}else{
    $http = 'http://';
}
$pageTabUrl = $http.'www.facebook.com/cime.fm/app_'.$appId; 
window.top.location.href = "http://www.facebook.com/dialog/oauth?client_id=<?php echo $appId;?>&locale=fr_CA&origin=1&redirect_uri=<?php echo $pageTabUrl;?>&response_type=token%2Csigned_request&scope=publish_stream%2Cuser_likes&sdk=joey";

在facebook的文档中,对于redirect_uri,它说:

  

用户单击对话框中的按钮后重定向到的URL。您指定的网址必须是与您的应用设置中指定的基本域相同的网址,格式为https://apps.facebook.com/YOUR_APP_NAMESPACE的Canvas网址或格式为https://www.facebook.com/PAGE_USERNAME/app_YOUR_APP_ID的网页标签网址

所以我有一个有效的redirect_uri条目。

在我的应用程序配置中,我将cime.fm和securecdi.com放在App域中。 (我甚至尝试过放置facebook.com ......但它没有改变任何东西)

最重要的是,我已经与同一台服务器上的其他网站进行了此次通话(使用DNS的http和另一个用于https的网站),一切正常......

任何想法?

我认为可能是因为。在用户名中,但事实并非如此,因为我收到了另一个网站的错误...

哪些有效,哪些无效:

I have a page tab with   
Page Tab URL: http://www.rythmefm.com/montreal/$linkToMyPage 
Secure Page Tab URL: https://www.securecdi.com/rythmefm/montreal/$linkToMyPage   
App Domains: rythmefm.com and securecdi.com   
Redirects to: http://www.facebook.com/pages/1057-rythme-FM/124140938458?sk=app_$appId;  
--> works.

But a page tab with
Page Tab URL: http://www.cime.fm/$linkToMyPage
Secure Page Tab URL: https://www.securecdi.com/cimefm/$linkToMyPage
App Domains: cime.fm and securecdi.com  
Redirects to: http://www.facebook.com/cime.fm/app_$appId;  
--> does not work.

And a page tab with 
Page Tab URL: http://www.fm93.com/$linkToMyPage 
Secure Page Tab URL: https://www.securecdi.com/fm93/$linkToMyPage  
App Domains: fm93.com and securecdi.com  
Redirects to: http://www.facebook.com/fm93/app_$appId;  
--> does not work.

1 个答案:

答案 0 :(得分:1)

我找到了! 尽管Facebook在文档中指出您可以使用以下形式的网址重定向到页面标签:https://www.facebook.com/PAGE_USERNAME/app_YOUR_APP_ID,但事实并非如此。

您必须使用表格的网址:
https://www.facebook.com/pages/PAGE_NAME/PAGE_ID?sk=app_YOUR_APP_ID;
这是没有用户名设置的页面形式。