从php清理facebook url缓存

时间:2014-03-26 17:25:53

标签: php facebook caching curl

我的facebook linter功能有问题。我试图用PHP卷曲查询来清理我的一个URL的Facebook缓存。正如您所看到的here (Updating Objects),Facebook获得了一个api,用于删除URL的所有内容并更新URL Facebook元。它与Facebook Debugger Tool中使用的API相同。

如果我手动使用他们的调试器,则没有问题。我的网址被正确废弃,并且检索了所有更正元数据。但是,对于php curl查询,情况并非如此。

这是我的实际代码:

$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' => "http://www.gametrader-app.com/aTPVev",
    'scrape' => true,
 );
$data = http_build_query( $params );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $data );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);

$resultLinter = curl_exec( $ch );

API结果显示不正确/旧的facebook meta。

此外,我试图直接调用调试器的URL而没有成功

curl_setopt( $ch , CURLOPT_URL, "http://developers.facebook.com/tools/debug/og/object?q=http://www.example.com");
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 );

出于某种原因,我需要这样做。这里是完整的过程:

  1. 在iPhone App" GameTrader"
  2. 上发布新广告
  3. 在Facebook上发布此发布的开放图表
  4. 那就是全部;)
  5. 如果我在帖子打开图表之前没有清除Facebook端的URL缓存,我会收到此错误:

    Error during open graph : OAuthException: (#3502) Object at URL 
    http://www.gametrader-app.com/aTPVev has og:type of 'website'. The property 'ad' requires an object of og:type 'gametrader-app:ad'
    

    你能帮助理解我做错了吗?

    干杯!

0 个答案:

没有答案