Этот ответ предназначен для разработчиков.
Очистка кеша означает, что в новых общих папках этой веб-страницы будет отображаться новый контент, указанный в тегах OG. Но только если URL-адрес, над которым вы работаете, имеет менее 50 взаимодействий (лайки + репосты). Это также не повлияет на старые ссылки на эту веб-страницу, которые уже были размещены на Facebook. Только при повторном совместном использовании URL-адреса в Facebook способ отображения ссылки в Facebook будет обновлен.
Ответ catandmouse правильный, но вы также можете заставить Facebook очистить кеш OG (OpenGraph), отправив почтовый запрос на graph.facebook.com (работает как для 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