我已经实现了一个使用 sharer.php 方法的 SHARE 按钮。图像在第一次尝试时不会被刮掉,但只有在第二次尝试后才会被刮掉。我假设它被 Facebook 服务器缓存后。
这是我的 URL,当我单击 SHARE 按钮时会发生什么
http://viddsee.com/video.php?video=wild_fire_2011
任何帮助将不胜感激!
德里克
我已经实现了一个使用 sharer.php 方法的 SHARE 按钮。图像在第一次尝试时不会被刮掉,但只有在第二次尝试后才会被刮掉。我假设它被 Facebook 服务器缓存后。
这是我的 URL,当我单击 SHARE 按钮时会发生什么
http://viddsee.com/video.php?video=wild_fire_2011
任何帮助将不胜感激!
德里克
我找到了一个不太优雅的解决方法来解决这个问题。我发现当我在尝试共享新链接之前使用 facebook刮板(调试器)时不会发生这种情况,所以我开始在用户共享链接之前寻找一种方法来执行此操作。
这是我的解决方案,大约 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 响应以检查它在找不到图像时是否发生变化,因此我可以对其进行迭代,但我还没有时间这样做,所以如果你最终检查了,让我知道。
问候