Facebook的Feed Dialog中的"图片"已弃用,如何发布图片链接?

Lia*_*bel 13 facebook facebook-graph-api facebook-javascript-sdk

我一直在使用Facebook的Feed Dialog让网站上的用户在他们的Facebook Feed上分享内容.在他们的Feed上会有一张图片作为我网站页面的链接,下面有一些文字(名称,标题和说明字段).所有这些 - 图片,名称,标题和描述现已弃用,并于7月17日停止工作.有没有其他方法可以使用不同的方法来实现此功能?

elv*_*dev 34

您需要使用FB dev docs中本页底部描述的Open Graph操作方法.

使用带有share_open_graph方法参数的FB.ui函数触发共享对话框以共享Open Graph故事.

在您的代码中尝试此操作,以在FB共享上指定自定义图像,标题,描述或链接:

    // this loads the Facebook API
    (function (d, s, id) {
        var js, fjs = d.getElementsByTagName(s)[0];
        if (d.getElementById(id)) { return; }
        js = d.createElement(s); js.id = id;
        js.src = "//connect.facebook.net/en_US/sdk.js";
        fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));

    window.fbAsyncInit = function () {
        var appId = '1937011929814387';
        FB.init({
            appId: appId,
            xfbml: true,
            version: 'v2.9'
        });
    };

    // FB Share with custom OG data.
    (function($) {

        $('.fb_share_btn').on('click', function (event) {
            event.preventDefault();
            event.stopImmediatePropagation();

                // Dynamically gather and set the FB share data. 
                var FBDesc      = 'Your custom description';
                var FBTitle     = 'Your custom title';
                var FBLink      = 'http://example.com/your-page-link';
                var FBPic       = 'http://example.com/img/your-custom-image.jpg';

                // Open FB share popup
                FB.ui({
                    method: 'share_open_graph',
                    action_type: 'og.shares',
                    action_properties: JSON.stringify({
                        object: {
                            'og:url': FBLink,
                            'og:title': FBTitle,
                            'og:description': FBDesc,
                            'og:image': FBPic
                        }
                    })
                },
                function (response) {
                // Action after response
                })
        })

    })( jQuery );
Run Code Online (Sandbox Code Playgroud)

  • 你是个天才,在任何地方找不到这个,几乎放弃了在分享弹出窗口中添加自定义内容! (6认同)
  • 2018回答:这些方法在当前的api中已经被弃用(这就是为什么它们没有列在他们的文档中的任何地方).结果是图像大小看起来不一致,在某些时候它可能根本不起作用.由FB自己确认:https://developers.facebook.com/bugs/1783400898620381/ (4认同)