1

是的,另一个 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://的页面选项卡 URL 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.
4

1 回答 1

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
这是没有设置用户名的页面形式。

于 2012-11-07T19:27:08.977 回答