如何获得Facebook份额和评论数2.7

时间:2017-11-11 21:36:45

标签: javascript php facebook-php-sdk facebook-fql facebook-graph-api-v2.0

我发布了什么?

我没有得到结果/输出,使用我的PHP代码?(首次发布)

如何在我的PHP代码上输入我的访问令牌? (第二次发布)

当我从浏览器输入此网址时:https://graph.facebook.com/v2.1/?id=http://google.com

我得到的结果是JSON:

{
   "share": {
      "comment_count": 0,
      "share_count": 44100483
   },
   "og_object": {
      "id": "1485280808235339",
      "description": "Honoring our veterans #GoogleDoodle",
      "title": "Google",
      "type": "website",
      "updated_time": "2017-11-11T21:40:44+0000"
   },
   "id": "http://google.com"
}

然而,当我使用我的PHP代码时,我没有得到任何结果。

我的完整php代码如下:

        public function getFacebookData($domain)
        {
            try
            {
                $facebook_app_id = "666987483466439";
                $facebook_app_secret = "b3e1a0948513223b0bc51b32a735e2cf";
                $access_token = $facebook_app_id . '|' . $facebook_app_secret;
                $curl_response = $this->curl->get("http://graph.facebook.com/v2.7/?id=" . $domain . '&fields=share&access_token=' . $access_token);   //$curl_response = $this->curl->get("http://graph.facebook.com/v2.1/?id=" . $domain);

$curl_response = $this->curl->get($callback_url . http_build_query($data, '', '&')); if ($curl_response->headers['Status-Code'] == "200") { $parse_response = json_decode($curl_response, true); $fb_share_count = $parse_response['data'][0]['share_count']; $fb_like_count = $parse_response['data'][0]['like_count']; $fb_comment_count = $parse_response['data'][0]['comment_count']; } else { $fb_share_count = 0; $fb_like_count = 0; $fb_comment_count = 0; } $response = array( 'status' => 'success', 'data' => array( 'fb_share_count' => filter_var($fb_share_count, FILTER_SANITIZE_NUMBER_INT), 'fb_like_count' => filter_var($fb_like_count, FILTER_SANITIZE_NUMBER_INT), 'fb_comment_count' => filter_var($fb_comment_count, FILTER_SANITIZE_NUMBER_INT) ) ); } catch (Exception $e) { $response = array( 'status' => 'error', 'msg' => $e->getMessage() ); } return $response; }

我的代码或我遗漏的内容有什么问题吗?提前感谢您的帮助!

来自Facebook Developer Site Doc:我需要在我的代码上输入访问令牌:Application ID|App Secret另一个问题。这里输入的Application ID|App Secret i正在运行和测试。

如何在我的PHP代码上输入我的token

1 个答案:

答案 0 :(得分:2)

我找到了一个解决方案,但不是在php ruther中是js

以下是工作代码:

$(function() {
      var url = "http://facebook.com";
      var apiUrl = "https://graph.facebook.com/?ids=" + url;
    
  $.ajax({
      url: apiUrl,
      success: function(result) {
  $.each(result, function(key, val) {
        console.log(key + " - " + val["share"]["share_count"]);
        console.log(key + " - " + val["share"]["comment_count"]);

            var commentCount = val["share"]["comment_count"];
            var shareCount = val["share"]["share_count"];
            $("#fb-like-div").html(shareCount);
            $("#fb-comment-div").html(commentCount);
          });
        }
      });
    });
#fb-like-div,#fb-comment-div{color:red;}
<script type="text/javascript" src="//code.jquery.com/jquery-1.12.4.js"></script>
<div id="fb-like-div">0</div>
<div id="fb-comment-div">0</div>