Câu trả lời này dành cho các nhà phát triển.
Xóa bộ nhớ cache có nghĩa là các lượt chia sẻ mới của trang web này sẽ hiển thị nội dung mới được cung cấp trong các thẻ OG. Nhưng chỉ khi URL mà bạn đang làm việc có ít hơn 50 tương tác (lượt thích + lượt chia sẻ). Nó cũng sẽ không ảnh hưởng đến các liên kết cũ đến trang web này đã được đăng trên Facebook. Chỉ khi chia sẻ lại URL trên Facebook thì cách Facebook hiển thị liên kết mới được cập nhật.
Câu trả lời của catandmouse là đúng nhưng bạn cũng có thể yêu cầu Facebook xóa bộ nhớ cache OG (OpenGraph) bằng cách gửi yêu cầu đăng bài đến graph.facebook.com (hoạt động cho cả http và https khi viết câu trả lời này). Bạn không cần mã thông báo truy cập.
Yêu cầu đăng bài tới graph.facebook.com có thể như sau:
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
Trong Perl, bạn có thể sử dụng mã sau nơi thư viện Mojo :: UserAgent được sử dụng để gửi và nhận các yêu cầu 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.");
}
}
}
Gửi yêu cầu bài đăng này qua thiết bị đầu cuối có thể được thực hiện bằng lệnh sau:
curl -F id="<URL>" -F scrape=true graph.facebook.com