簡體   English   中英

帶有share_open_graph方法的FB.ui僅顯示小圖像

[英]FB.ui with share_open_graph method displays small image only

我有這個代碼在同一頁面URL上創建多個共享按鈕,但指定自定義標題,描述和圖像。

    // 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.stopPropagation();
            event.stopImmediatePropagation();

                // Dynamically gather and set the FB share data. 
                var FBDesc      = 'My custom description';
                var FBTitle     = 'My custom title';
                var FBLink      = 'http://example.com/my-page-link';
                var FBPic       = 'http://example.com/img/my-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 );

對於圖像,我遵循FB dev docs中描述的“共享最佳實踐”。

但是當分享到Facebook時,而不是像這樣大尺寸顯示圖像:

在此輸入圖像描述

它出現在這樣的小版本中:

在此輸入圖像描述

我知道Facebook JavaScript SDK 最近棄用了一些參數這些參數過去常常讓我按照我的預期運行。 這就是為什么我使用share_open_graph為共享對話框使用最新的SDK版本(v2.9)和可用於此自定義共享的方法的原因。

這是否意味着從SDK v2.9 +開始,我們不能讓共享圖塊顯示更大的圖像?

更新2019此解決方案不再起作用。 尚未找到新的解決方案。 :(

我找到了解決方案。 只需用action_type: 'og.shares'替換action_type: 'og.shares' action_type: 'og.likes'

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

完整的文章檢查: 動態更改Facebook開放圖元數據javascript或只是結帳完全工作的示例 ,看看它在行動。

小的缺點是在共享對話框頂部的“John Doe喜歡運行中的對象”這樣的句子,並在用戶牆上共享內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM