Facebook分享在第一次尝试时没有报废图像,但在缓存发生后第二次尝试

时间:2013-08-16 04:24:02

标签: facebook image button share

我已经实现了一个使用sharer.php方法的SHARE按钮。第一次尝试时图像不会报废,但仅在第二次尝试后才会报废。我认为它已经被Facebook服务器缓存了。

这是我的网址,点击分享按钮时会发生什么

http://viddsee.com/video.php?video=wild_fire_2011

https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fviddsee.com%2Fvideo.php%3Fvideo%3Dwild_fire_2011

任何帮助将不胜感激!

德里克

2 个答案:

答案 0 :(得分:4)

答案 1 :(得分:3)

我发现这个问题的解决方法并不那么优雅。我发现当我在尝试共享新链接之前使用facebook scrapper(调试器)时没有发生这种情况,所以我开始在用户共享链接之前搜索一种方法。

这是我的解决方案,大约80%的时间(jQuery)工作:

$.post("https://graph.facebook.com/?id="+encodeURIComponent(url_to_be_shared)+"&scrape=true",
    function(contents){
        //here you do the facebook share code
    });

这有时会失败,根本没有响应,所以你可能想要添加如下内容:

$.post("https://graph.facebook.com/?id="+encodeURIComponent(url_to_be_shared)+"&scrape=true",
    function(contents){
        //here you do the facebook share code
    }).fail(function(){
        //call function again if failed
    });

就像我说的,这是一个不优雅的解决方案,它可以在80%的时间内工作,为了最大化这个我做了一个更不优雅的解决方案和嵌套三个(是,三个)发布到facebook图表的调用api,完成三个电话大约需要2到5秒,但这是件事。在这样做后,我想也许我可以检查ajax.post响应,以检查它是否更改,当它找不到图像,所以我可以迭代,但我没有找到时间这样做,所以如果你最终检查了一下,让我知道。

此致