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