-
-
Save fatihtoprak/9f39935e629909997657dfa2ff73e2a5 to your computer and use it in GitHub Desktop.
Facebook API - Force facebook to reload cache from your website
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
class FacebookDebugger | |
{ | |
/* | |
* https://developers.facebook.com/docs/opengraph/using-objects | |
* | |
* Updating Objects | |
* | |
* When an action is published, or a Like button pointing to the object clicked, | |
* Facebook will 'scrape' the HTML page of the object and read the meta tags. | |
* The object scrape also occurs when: | |
* | |
* - Every 7 days after the first scrape | |
* | |
* - The object URL is input in the Object Debugger | |
* http://developers.facebook.com/tools/debug | |
* | |
* - When an app triggers a scrape using an API endpoint | |
* This Graph API endpoint is simply a call to: | |
* | |
* POST /?id={object-instance-id or object-url}&scrape=true | |
*/ | |
public function reload($url) | |
{ | |
$graph = 'https://graph.facebook.com/'; | |
$post = 'id='.urlencode($url).'&scrape=true'; | |
return $this->send_post($graph, $post); | |
} | |
private function send_post($url, $post) | |
{ | |
$r = curl_init(); | |
curl_setopt($r, CURLOPT_URL, $url); | |
curl_setopt($r, CURLOPT_POST, 1); | |
curl_setopt($r, CURLOPT_POSTFIELDS, $post); | |
curl_setopt($r, CURLOPT_RETURNTRANSFER, 1); | |
curl_setopt($r, CURLOPT_CONNECTTIMEOUT, 5); | |
$data = curl_exec($r); | |
curl_close($r); | |
return $data; | |
} | |
} | |
?> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
$fb = new FacebookDebugger(); | |
$fb->reload('http://example.com/'); | |
$fb->reload('http://example.com/foo'); | |
$fb->reload('http://example.com/bar'); | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment