FB.ui feed对话框需要redirect_uri,对话框不会关闭

Jer*_*ltz 5 javascript sdk facebook dialog fb.ui

我正在尝试使用JS SDK的FB.ui方法打开一个提要对话框,并在用户共享后关闭它.我的问题是feed对话框需要redirect_uri,即使文档说它不必定义,弹出窗口重定向到那里并且不会像回调函数那样关闭.

这是我的代码,附加到提交点击事件:

    FB.ui (
        {
            method: 'feed',
            name: 'xxx!',
            link: 'link to FB tab',
            picture: 'jpg',
            caption: 'xxx',
            actions: {name:'xxx',link:'url'},
            ref: 'xxx',
            redirect_uri: 'link to FB tab'
        },
        function(response) {
            self.close();
        }
    );
Run Code Online (Sandbox Code Playgroud)

如果我不使用redirect_uri,弹出窗口会打开,但它只是说FB应用程序有错误,请再试一次.

Jer*_*ltz 2

看来这是 Facebook 的 JavaScript SDK 中的一个已知更改:http://developers.facebook.com/bugs/302946973066993

使用 Facebook JavaScript API 时,除非在 params 对象中提供“redirect_uri”属性,否则调用 FB.ui 将失败 - 此行为是意外的,因为:

1.) 文档指出,大多数 SDK 都会自动附加“redirect_uri”[1] - 之前 JavaScript SDK 提供了一种关闭 Lightbox iFrame 的方法。2.) 添加redirect_uri 参数会导致Facebook Lightbox iFrame 重定向,从而阻止用户将其关闭。3.) 以前不需要redirect_uri 参数。

这是我已经习惯并一直试图复制的行为。一位 FB 开发人员报告说,这是“设计使然”。