Facebook 공유자 캐시를 지우는 방법?


Answers

API 사용 페이지가 다시 스크래핑되도록하는 API가 있습니까?

$furl = 'https://graph.facebook.com';

$ch = curl_init();

curl_setopt( $ch, CURLOPT_URL, $furl );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_POST, true );
$params = array(
    'id' => '<update_url>',
    'scrape' => true );
$data = http_build_query( $params );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $data );

curl_exec( $ch );
$httpCode = curl_getinfo( $ch, CURLINFO_HTTP_CODE );
Question

우리는 다음 링크를 사용했습니다.

http://www.facebook.com/sharer.php?u=[shared URL]

... 특정 페이지를 공유하는 중입니다. 그러나 Facebook Sharer는 캐시 된 버전의 이미지와 제목을 사용합니다. 페이스 북 캐시를 빨리 지울 수있는 방법이 있습니까? 아니면 데이터가 업데이트 될 때까지 기다려야합니까?

태그 사이에 <link rel='image_src' href='[preview image]' /> 했습니다.




방금 여기에 관련 게시물에 5 초가 걸리는 간단한 솔루션 게시 - Facebook 디버거 : 전체 사이트 캐시 지우기

짧은 답변 ... permalinks 설정의 worpdress 사이트에서 귀하의 permalinks를 맞춤형으로 변경하십시오. 방금 밑줄을 추가했습니다.
/ _ % postname % /
페이스 북은 그것들을 모두 새로운 URL, 새로운 글으로 긁어 낸다.




이 두 링크에는 문제와 관련된 내용에 대한 광범위한 토론이 있습니다. fb : 전화를 통해 명확한 현금 청산

fbml.refreshRefUrl

이렇게

<tt>fbml.refreshRefUrl("http://www.mysite.com/someurl.php")

fb:ref 에서 관련 자료를 연구 할 수 있습니다. 나는 그것이 당신을 위해 일할 것이라는 점을 희망한다.




이 대답은 개발자를위한 것입니다.

캐시를 지우면이 웹 페이지의 새 공유에 OG 태그에 제공된 새로운 콘텐츠가 표시됩니다. 단, 작업중인 URL의 상호 작용 수가 50 개 미만 (좋아요 + 공유) 인 경우에만 가능합니다. 또한 Facebook에 이미 게시 된이 웹 페이지에 대한 이전 링크에도 영향을 미치지 않습니다. Facebook에서 URL을 다시 공유 할 때만 Facebook에서 링크가 업데이트 된 것으로 표시됩니다.

catandmouse의 대답은 정확하지만 graph.facebook.com에 게시물 요청을 보내면 Facebook이 OG (OpenGraph) 캐시를 지울 수 있습니다 (이 답변 작성 시점에 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



관리 워드 프레스 또는 캐싱 플러그인을 사용했다면 페이스 북 디버거 도구가 새로운 정보를 가져 오기 전에 캐시를 지워야합니다!

나는 내가 만든 변경 사항이 24 시간 동안 페이스 북 디버거에 나타나지 않을 것이라고 생각한 몇 주 동안 내 머리카락을 꺼내왔다 !!!! 해결 방법은 워드 프레스 대시 보드에 들어가서 상단의 godaddy 아이콘을 클릭하고 "캐시 플러시"를 클릭해야합니다. 나는 많은 관리 wordpress hosters 캐시를 가지고 그것을 해결하는 방법을 알아 내고 당신은 황금이 될 거라 생각합니다.




Related