この回答は開発者を対象としています。
キャッシュをクリアすると、この Web ページの新しい共有で、OG タグで提供される新しいコンテンツが表示されます。ただし、作業している URL のインタラクションが 50 未満 (いいね + シェア) の場合のみです。また、Facebook に既に投稿されているこの Web ページへの古いリンクには影響しません。Facebook で URL を再度共有する場合にのみ、Facebook がリンクを表示する方法が更新されます。
catandmouse の答えは正しいですが、graph.facebook.com に投稿リクエストを送信することで、Facebook に OG (OpenGraph) キャッシュをクリアさせることもできます (この回答の執筆時点では、http と https の両方で機能します)。アクセストークンは必要ありません。
graph.facebook.com への投稿リクエストは次のようになります。
POST / HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: graph.facebook.com
Content-Length: 63
Accept-Encoding: gzip
User-Agent: Mojolicious (Perl)
id=<url_encoded_url>&scrape=true
Perl では、ライブラリ Mojo::UserAgent を使用して HTTP リクエストを送受信する次のコードを使用できます。
sub _clear_og_cache_on_facebook {
my $fburl = "http://graph.facebook.com";
my $ua = Mojo::UserAgent->new;
my $clearurl = <the url you want Facebook to forget>;
my $post_body = {id => $clearurl, scrape => 'true'};
my $res = $ua->post($fburl => form => $post_body)->res;
my $code = $res->code;
unless ($code eq '200') {
Log->warn("Clearing cached OG data for $clearurl failed with code $code.");
}
}
}
ターミナルを介してこの投稿リクエストを送信するには、次のコマンドを使用します。
curl -F id="<URL>" -F scrape=true graph.facebook.com