当我使用Like按钮创建新网页并首次访问该页面时,该按钮不显示og:title或og:description数据,或者我指定的og:图像。我必须先通过https://developers.facebook.com/tools/debug的Facebook调试器运行它来手动刮取页面。
我的理解是,Facebook会每24小时自动擦除一次页面,如果您希望更快地显示更改,则必须通过调试器运行它来自行扫描。但是,当你第一次调用它上面的Like按钮时,Facebook是否会刮掉页面,所以我不应该第一次刮掉它?
我应该提一下,通过调用
上的Facebook按钮页面,不会重新生成按钮代码https://developers.facebook.com/docs/plugins/like-button
相反,获取Like按钮的网页是由我开发的网站构建器生成的。当用户选择要放在页面上的“赞”按钮图标时,将修补先前生成的按钮中的代码以包含新的站点名称等。
此外,它是一个XFMBL按钮,如果重要的话。
我想,我希望的最好的解决方案是用PHP编程调用Facebook调试器,用URL来搜索查询字符串,而调试器只是在不打开任何类型的情况下执行它用户对话框。
感谢任何想法。
答案 0 :(得分:1)
生成类似按钮时,您可以使用此代码将其发送到调试器:
$curlUrl = 'https://developers.facebook.com/tools/debug/og/object?q=' .
urlencode(your like link);
$access_token = FACEBOOK_APP_ID | FACEBOOK_APP_SECRET;
$params = array(
'id' => $curlUrl,
'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);