使用FB.ui的Facebook Feed对话给出API错误191

Facebook Feed Dialog using FB.ui gives API error 191

本文关键字:API 错误 对话 Feed FB ui Facebook 使用      更新时间:2023-09-26

我想在我的网站上添加一个自定义的Facebook共享按钮,就像你在BBC新闻报道顶部看到的那样,比如http://www.bbc.co.uk/news/uk-19535236.他们正在使用Facebook订阅源对话框。因此,当你点击链接时,你会看到一个对话框,可以将你所在页面的URL发布到你的时间线上。

FB.ui方法似乎是调用对话框的最佳方式,因为它会自动为您的设备创建正确类型的弹出窗口。因此,使用手机的人会看到一个适合他们设备的弹出窗口。该方法还允许我们指定回调,因此一旦用户共享了链接,我们就可以增加他们共享的页面上的共享计数。

我正试着在http://developers.facebook.com/docs/reference/dialogs/feed/.

<div id='fb-root'></div>
<script src='http://connect.facebook.net/en_US/all.js'></script>
<p><a href="#" onclick='postToFeed(); return false;'>Post to Feed</a></p>
<p id='msg'></p>
<script>
    FB.init({appId: "00000000000", status: true, cookie: true});
    function postToFeed() {
        // calling the API ...
        var obj = {
            method: 'feed',
            link: 'http://example.com/',
            picture: 'http://fbrell.com/f8.jpg',
            name: 'Facebook Dialogs',
            caption: 'Reference Documentation',
            description: 'Using Dialogs to interact with users.'
        };
        function callback(response) {
            document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
            if (response && response.post_id) {
                alert('Post was published.');
            } else {
                alert('Post was not published.');
            }
        }
        FB.ui(obj, callback);
    }
</script>

(将我的实际app_id重置为00000000000,将网站URL重置为http://example.com/)。但当我点击链接时,我得到了这个错误:

API Error Code: 191
API Error Description: The specified URL is not owned by the application
Error Message: redirect_uri is not owned by the application.

即使"链接"参数与我的Facebook应用程序设置中该应用程序的"网站URL"完全匹配,我也会收到此消息。

有人能告诉我如何让它发挥作用吗?我希望人们能够在我的网站上共享任何页面,而不仅仅是与我的Facebook应用程序对应的URL。

为了共享工作,应用程序配置中的最低要求是设置至少

应用程序域(在基本信息下)

网站URL(在Facebook登录的网站下)

App Domains : example.com
Site URL : http://example.com

设置其他参数也可以工作,如移动网站URL等。