4

親ページの URL/データを送信するページ (http://www.usna.edu/BillAF/game.php) に「いいね」ボタンを作成しました。残念ながら、最初に挿入したとき、ページの古いバージョンは、開いているグラフのメタタグを持たない親ページの場所にありました。

そのため、誰かがそのページを「いいね」すると、間違ったタイトルと、白とグレーの四角形に文字「e」の半分の「ゴミ」画像が送信されます。

http://developers.facebook.com/tools/debugを確認しましたが、更新された情報が含まれています。また、関連付けられている AP ID を新しいものに変更しようとしましたが、どちらも「いいね」したときに送信されるものを更新していないようです。また、投稿するはずの URL (http://www.usna.edu/BillAF) の末尾に index.php を追加しようとしましたが、役に立ちませんでした。

ページを強制的に再スクレイピングするためにできることはありますか? そうでない場合、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 に答える