我的频道网址设为
channelUrl : '//www.example.com/xyx/channel.html'
channel.html的内容是
<script src="//connect.facebook.net/en_US/all.js"></script>
我的网站网址设置如下
http://www.example.com/xyz/
我已将以下代码存储在 common.js 中,并将此javascript文件添加到 紧接着打开身体标签。
window.fbAsyncInit = function() {
FB.init({
appId : 'XXXXXXX', // App ID
channelUrl : '//www.example.com/xyz/channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
// Additional initialization code here
};
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}(document));
完成所有这些操作后,当我打开www.example.com/xyz并点击Facebook登录按钮时 我在弹出窗口中收到以下错误,是否有人有解决方案?
我搜索了许多帖子但没有运气
API Error Code: 191
API Error Description: The specified URL is not owned by the application
Error Message: Invalid redirect_uri: Given URL is not allowed by the Application configuration.
答案 0 :(得分:0)
如果您选中此link,则会发现与您相同的错误。所有修复都表明您从Facebook App页面错误配置了您的应用程序。
答案 1 :(得分:0)
我使用JavaScript SDK在Internet Explorer中遇到了类似的问题。我有一个像这样定义的设置数组:
var _facebookSettings = {
appId: '@Model.Facebook.AppId', // App ID
channelUrl:'//@Request.ServerVariables["SERVER_NAME"]/js/channel', // Channel File
status: true, // check login status
cookie: true, // enable cookies to allow the server to access the session
xfbml: true, // parse XFBML
oauth: true,
scope: '@Model.Facebook.Scope'
};
然后我修改了我的channelUrl定义,如下所示:
channelUrl:document.location.protocol +'// @ Request.ServerVariables [“SERVER_NAME”] / js / channel'
请注意在频道URL定义之前添加了“document.location.protocol”。此修复程序解决了我的问题,我不再收到该错误。