【问题标题】:Facebook API error 191 Invalid redirect_uri (not on localhost)Facebook API 错误 191 无效的 redirect_uri(不在本地主机上)
【发布时间】:2012-11-06 19:51:25
【问题描述】:

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

所以,我有一个在页面标签中使用的应用程序。
我的页面有 2 个不同的 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。您指定的 URL 必须是与您的应用设置中指定的具有相同基本域的 URL、https://apps.facebook.com/YOUR_APP_NAMESPACE 形式的画布 URL 或 https://www.facebook.com/PAGE_USERNAME/app_YOUR_APP_ID 形式的页面选项卡 URL

所以我有一个有效的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.

【问题讨论】:

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


【解决方案1】:

我找到了! 尽管 Facebook 在文档中声明您可以使用以下形式的 url 重定向到页面选项卡:https://www.facebook.com/PAGE_USERNAME/app_YOUR_APP_ID,但实际上并非如此。

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

【讨论】:

    猜你喜欢
    • 2018-12-18
    • 1970-01-01
    • 2017-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-10
    • 1970-01-01
    • 2016-07-23
    相关资源
    最近更新 更多