How to get Facebook Share Count and Comment Count on Version 2.7

半城伤御伤魂 提交于 2019-12-11 06:19:59

问题


What is my Issued?

Im not getting result/output, using my php code?(first issued)

How to input my Access Token on my php code? (Second Issued)

When i enter this URL from browser: https://graph.facebook.com/v2.1/?id=http://google.com

Im getting result 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"
}

However, When I used my php code I'm not getting any result.

My complete php code below:

        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;
    }

Is there any problem with my code or something i missed?Thanks in advance for your help guys!

From Facebook Developer Site Doc: I need to input an Access Token on my code: Application ID|App Secret another Issue. The Application ID|App Secret i input here is working and tested.

How to input my token on my php code?


回答1:


I found a solution, but not in php ruther is js

Here is the working Code:

$(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>
 


来源:https://stackoverflow.com/questions/47243037/how-to-get-facebook-share-count-and-comment-count-on-version-2-7

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!