在 drupal 中,我想显示我们页面的点赞数量。
我知道您可以使用 facebook graph 实用程序,但我不知道如何为 html“片段”输入正确的代码。有人有什么想法吗?
我对 Drupal 不熟悉 - 但这是您通过 HTML + JS 进行操作的方式:
window.fbAsyncInit = function() {
FB._https = true;
// init the FB JS SDK
FB.init({
appId : YOUR APP ID, // App ID from the App Dashboard
channelUrl : 'channel.html', // YOUR CHANNEL HTML
status : true,
cookie : true,
xfbml : true
});
getPage();
};
(function(d, debug){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all" + (debug ? "/debug" : "") + ".js";
ref.parentNode.insertBefore(js, ref);
}(document, /*debug*/ false))
getPage = function() {
var pageID = 'http://google.com'; //put your site here
var pageUrl = 'https://graph.facebook.com/'+pageID;
FB.api(pageUrl, 'get', function(response) {
alert( response.likes )
});
}
您可以在块中或允许使用 php 的任何其他地方使用以下 PHP 代码段:
$graph = 'https://graph.facebook.com/< your facebook page id>/?fields=likes';
$response = file_get_contents($graph);
$json = json_decode($response);
try {
if (!isset($json->likes)) {
throw new Exception('Like count not found in facebook graph object');
}
$likes = $json->likes;
// do something with $likes
} catch (Exception $e) {
// handle error
}
最简单的方法是启用“php 代码”文本过滤器,创建节点并选择“php 格式”,而不是在节点正文中放入更新的 Arlina 代码:
$graph = 'https://graph.facebook.com/< your facebook page id>/?fields=likes&access_token=< your application access_token >';
$response = file_get_contents($graph);
$json = json_decode($response);
try {
if (!isset($json->likes)) {
throw new Exception('Like count not found in facebook graph object');
}
$likes = $json->likes;
echo $likes;
} catch (Exception $e) {
// handle error
}
最后保存节点。