我的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 );
出于某种原因,我需要这样做。这里是完整的过程:
如果我在帖子打开图表之前没有清除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'
你能帮助理解我做错了吗?
干杯!