4

我在一个页面 (http://www.usna.edu/BillAF/game.php) 上创建了一个类似按钮,用于发送其父页面的 URL/数据。不幸的是,当我第一次把它放进去时,一个旧版本的页面位于父页面的位置,它上面没有打开的图形元标记。

因此,当有人“喜欢”该页面时,它会发送错误的标题和一个白色和灰色方块上一半字母“e”的“垃圾”图像。

我检查了:http: //developers.facebook.com/tools/debug,它有更新的信息。我还尝试将关联的 AP ID 更改为新的,当我“喜欢”它时,似乎都没有刷新它发送的内容。我还尝试将 index.php 添加到它应该发布的 URL 的末尾(http://www.usna.edu/BillAF),但无济于事。

我能做些什么来强制它重新刮掉页面吗?如果没有,有谁知道facebook自己重新刮掉它需要多长时间?

4

2 回答 2

3

清除 facebook 缓存的图像和文本的一个好方法是运行工具 Debugger:

http://developers.facebook.com/tools/debug

通过将您共享的 url 放在那里,它将从您的网站刷新 facebook 缓存。

于 2013-02-18T22:23:23.523 回答
0

Facebook有一个用于重新抓取页面数据的 API ,我使用以下函数:

function purgeFacebookCache($url, $debug=false) {

    // Set the variables for Facebook
    $fields = array(
        'id' => urlencode($url), 
        'scrape' => true
    );
    foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
    rtrim($fields_string,'&');

    // Connect
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,'https://graph.facebook.com');
    curl_setopt($ch,CURLOPT_POST,count($fields));
    curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
    $result = curl_exec($ch);

    // Debug
    if ($debug) {
        var_dump($result);
    }

}
于 2014-10-23T22:02:30.030 回答