Ця відповідь призначена для розробників.
Очищення кеша означає, що нові спільні веб-сторінки показуватимуть новий вміст, який міститься в тегах 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