0

当我开始我们网站的 Facebook 集成时,我最初遇到了这个问题。经过一番搜索,找到了解决方案并修复了它。

现在,几个月后,它刚刚停止工作。Facebook 开发者网站上的 javascript 代码或应用程序设置均未发生任何更改。我再次开始搜索,并找到了与以前相同的答案:Site URL must match redirect_uri 等。

我目前有应用程序域:“domain.com”
和站点 URL:“http://www.domain.com”

给出的错误:

API 错误代码:191
API 错误描述:指定的 URL 不属于应用程序
错误消息:redirect_uri 不属于应用程序。

我不知道发生了什么。Facebook 改变了他们的 API 吗?(我确实检查了他们的文档,它仍然是一样的)。

任何帮助将不胜感激。Javascript代码如下:

var publish = {
    method: 'feed',
    redirect_uri: 'http://www.domain.com',
    link: 'http://www.domain.com',
    picture: 'http://pathtoimage/logo.png',
    name: 'Name',
    caption: 'Title',
    description: 'Description, blah blah'
};

function fbcallback(response) {
    // do stuff here
}

FB.ui(publish, fbcallback);

谢谢

编辑:
我检查了时间戳,自 3 月 16 日以来 JS 文件没有被触及,Facebook 上的应用程序设置也没有,我的同事在一周前测试了这个(当时还在工作)

4

2 回答 2

3

解决:

对于其他有同样问题的人,这对我有用。

FB 似乎加强了他们的安全性,这就是它最初运作的原因。
我们正在开发一个新版本,并使用 IP 地址而不是域来访问该站点。一条我以前没见过的新消息开始出现在开发控制台中:

When using FB.ui, you should not specify a redirect_uri.

看起来 FB api 现在检查浏览器地址字段中的 URL 域(而不是 redirect_uri)与 Facebook 应用程序设置中的站点 URL。通过暂时将我们的域指向 IP 地址并通过域加载的站点运行 Facebook api 代码来测试这一点,它可以工作。因此,当我们在发布前进行测试时,我将使用http://localhost:8080它作为站点 URL,然后在它上线时将其更新到站点的域。

感谢那些帮助我指出正确方向的人!

于 2013-04-20T08:47:36.757 回答
0

Try to check if in your app settings (on Facebook Developers) you have set:

  • 'App domain' with the domain where you're using the app
  • Check the 'Website with Facebook Login' option and then set the domain there
于 2013-04-20T01:18:37.157 回答