Facebook分享者:刚刚创建的图像

时间:2015-06-02 09:27:17

标签: facebook facebook-graph-api nginx share preview

我正在创建一个创建头像的应用程序,从头像base64在服务器上创建一个图像,然后显示Facebook的共享按钮,分享刚刚创建的头像。

自定义共享按钮使用包含头像文件名的附加URL参数调用当前页面。设置此参数时(当Facebook使用共享URL抓取它时),我在头部创建og标记,并在URL参数中给出图像的路径。

没问题,一切都好。

但问题是:预览对话框没有显示头像,而 IS 在服务器上创建! 我必须多次打开对话框才能看到头像。 (打开,没有头像,取消...打开,没有头像,取消......打开啊!头像,最后!)。

Facebook URL调试器的问题相同。第一次,它没有找到头像(而它存在),第二次或第三次,确定它找到它。

创建头像时,预览不应显示头像吗?在创建图像后,服务器是否需要一些时间来启用"启用"它? (服务器是nginx)

enter image description here

2 个答案:

答案 0 :(得分:0)

我建议制作一个AJAX请求强制Facebook在页面加载包含您的共享链接时从其末尾更新图像:

$.post(
    'https://graph.facebook.com',
    {
        id: 'http://www.website.com/pagetoscrape',
        scrape: true
    },
    function(response){
        // or you could call the dialog box at this point
    }
);

答案 1 :(得分:0)

昨天我遇到了这个错误,这是我的尝试

$.post(
    'https://graph.facebook.com',
    {
        id: current+"/share/"+id,
        scrape: true
    },
    function(response){
        //alert('scrap')
        setTimeout(function(){
          $("#facebook").attr("href",url_facebook ); 
        }, 800)
       ;
    }
);
Facebook需要一点时间来获取信息,这就是为什么我使用setTimeOut,为facebook提供一点休息以获取信息