Ta odpowiedź jest przeznaczona dla programistów.
Wyczyszczenie pamięci podręcznej oznacza, że nowe udostępnienia tej strony internetowej będą wyświetlać nową zawartość, która jest dostarczana w tagach OG. Ale tylko wtedy, gdy adres URL, nad którym pracujesz, ma mniej niż 50 interakcji (polubienia + udostępnienia). Nie wpłynie to również na stare linki do tej strony, które zostały już opublikowane na Facebooku. Dopiero po ponownym udostępnieniu adresu URL na Facebooku sposób, w jaki Facebook pokazuje link, zostanie zaktualizowany.
Odpowiedź catandmouse jest prawidłowa, ale możesz również sprawić, by Facebook wyczyścił pamięć podręczną OG (OpenGraph), wysyłając żądanie wpisu do graph.facebook.com (działa zarówno dla http, jak i https od momentu napisania tej odpowiedzi). Nie potrzebujesz tokena dostępu.
Żądanie wpisu do graph.facebook.com może wyglądać następująco:
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
W Perlu można użyć następującego kodu, w którym biblioteka Mojo :: UserAgent służy do wysyłania i odbierania żądań 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.");
}
}
}
Wysłanie tego żądania pocztowego przez terminal można wykonać za pomocą następującego polecenia:
curl -F id="<URL>" -F scrape=true graph.facebook.com