redirect_uri不归应用程序所有

时间:2012-11-27 22:27:25

标签: javascript facebook redirect sdk

类似的问题和答案并没有解决我的问题。

我有两个Facebook应用程序。一个是另一个的测试版本,因此它们几乎相同。我在测试中没有任何问题。但是在我得到的实时应用程序上,#red; redirect_uri不属于该应用程序"错误。

这个apprequest的一个例子。

FB.ui(
    { method: 'apprequests',
        message: 'Greetings! Would you be my neighbor?',
        data: 'invite_friends'
    },
    function (response) {

    });

我甚至手动在下一个片段中添加了redirect_uri。

FB.ui(
    { method: 'apprequests',
        message: 'Greetings! Would you be my neighbor?',
        data: 'invite_friends',
        redirect_uri: location.protocol + '//' + location.host + location.pathname
    },
    function (response) {

    });

无论哪种方式,我得到" redirect_uri不归应用程序拥有"我的实时应用上的代码错误,而不是我的测试应用。

在这两个应用中,设置都遵循这种模式。

  • 应用领域:subdomain.domain.com,domain.com
  • 网站网址:http://subdomain.domain.com/
  • Canvas URL:http://subdomain.domain.com/Facebook/
  • 安全画布网址:https://subdomain.domain.com/Facebook/
  • 页面标签网址:http://subdomain.domain.com/Facebook/
  • 安全页面标签网址:https://subdomain.domain.com/Facebook/

我们正在使用FB JS SDK。在这种情况下,redirect_uri应该由SDK提供,我可以看到它使用location.protocol + '//' + location.host + location.pathname

因此,如果SDK提供了redirect_uri并且我的设置正确,为什么它可以在一个应用程序中工作而不在另一个应用程序中?

请帮助我浪费了一天的时间。我确定这是愚蠢的,但我无法在我的生命中找到它。

1 个答案:

答案 0 :(得分:0)

确定问题源于我们的应用代码中未正确设置的AppID。这可能导致应用程序被识别为我们公司生成的另一个应用程序,因此redirect_uri中的不匹配。