0

我一直在寻找 php 中的脚本来卷曲 facebook linter URL,以便它强制 Facebook 再次抓取我的页面以更新我的打开图形数据。

4

2 回答 2

4

根据 facebook 的文档,您可以通过使用 linter api 并传递scrape=true参数来简单地做到这一点:

curl -X POST \
    -F "id={object-url OR object-id}" \
    -F "scrape=true" \
    "https://graph.facebook.com"

或通过使用 php:

 $access_token="APP_ID|APP_SECRET"; //replace with your app details
 $params = array("id"=>'/*YOU PAGE URL*/',"scrape"=>"true","access_token"=>$access_token);
 $ch = curl_init("https://graph.facebook.com");
 curl_setopt_array($ch, array(
      CURLOPT_RETURNTRANSFER=>true,
      CURLOPT_SSL_VERIFYHOST=>false,
      CURLOPT_SSL_VERIFYPEER=>false,
      CURLOPT_POST=>true,
      CURLOPT_POSTFIELDS=>$params
 ));
 $result = curl_exec($ch);

如此处所述

于 2013-01-02T15:58:44.927 回答
0

这是我在stackoverflow的帮助下找到并更正的脚本!

$url = "http://developers.facebook.com/tools/debug/og/object?q=http://www.example.com";
$useragent = "Opera/9.80 (X11; Linux x86_64; U; en) Presto/2.10.229 Version/11.60";

if ( $ch = curl_init( $url ) )
{
    curl_setopt( $ch , CURLOPT_HEADER , 0 );
    curl_setopt( $ch , CURLOPT_RETURNTRANSFER , true );
    curl_setopt( $ch , CURLOPT_USERAGENT , $useragent );
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

    $str_response = curl_exec( $ch );

    if( curl_errno( $ch ) != 0 )
    {
        $message = 'Girl of the day - cURL exec error: ' . $ch;

        error_log( $message );
    }

    curl_close( $ch );
}
else
{
    $message = 'Girl of the day - cURL init with url: ' . $url . ' failed';

    error_log( $message );
}
于 2013-01-02T15:25:02.667 回答