it-swarm-vi.com

Facebook, Twitter, LinkedIn, chia sẻ số lượng liên kết

Có cách nào để có được số lượng người dùng chia sẻ một số liên kết trên Facebook, Twitter, LinkedIn

ví dụ: bao nhiêu lần một số liên kết được chia sẻ lên Facebook, Twitter, LinkedIn để tính toán mức độ phổ biến của một số nội dung.

làm thế nào để có được chia sẻ đếm api cụ thể của tôi? Có lựa chọn nào khác không? [.__.] Có một số api không?

22
Sajith

Tôi tìm thấy câu trả lời ... !!!!!!!

URL dữ liệu [.__.] Tại đây, nơi bạn có thể tìm thấy dữ liệu

Facebook    http://graph.facebook.com/?ids=YOURURL
Twitter http://urls.api.Twitter.com/1/urls/count.json?url=YOURURL
Google  https://clients6.google.com/rpc [see below for JSON-RPC]

Lưu ý : Vì tôi sử dụng tính năng động, nên điều này yêu cầu .NET 4.0. Ngoài ra, tôi đã [[___.] Sử dụng lớp JavaScriptSerializer đã được khấu hao chính thức, [.__ Bạn cũng có thể dễ dàng sử dụng [.__.] Regex để nhận các giá trị đơn giản này. *

int GetTweets(string url) {

    string jsonString = new System.Net.WebClient().DownloadString("http://urls.api.Twitter.com/1/urls/count.json?url=" + url);

    var json = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize(jsonString);
    int count = (int)json["count"]; 

    return count;
}

int GetLikes(string url) {

    string jsonString = new System.Net.WebClient().DownloadString("http://graph.facebook.com/?ids=" + url);

    var json = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize(jsonString);
    int count = json[url]["shares"];

    return count;
}

int GetPlusOnes(string url) {

    string googleApiUrl = "https://clients6.google.com/rpc"; //?key=AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQ";

    string postData = @"[{""method"":""pos.plusones.get"",""id"":""p"",""params"":{""nolog"":true,""id"":""" + url + @""",""source"":""widget"",""userId"":""@viewer"",""groupId"":""@self""},""jsonrpc"":""2.0"",""key"":""p"",""apiVersion"":""v1""}]";

    System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(googleApiUrl);
    request.Method = "POST";
    request.ContentType = "application/json-rpc";
    request.ContentLength = postData.Length;

    System.IO.Stream writeStream = request.GetRequestStream();
    UTF8Encoding encoding = new UTF8Encoding();
    byte[] bytes = encoding.GetBytes(postData);
    writeStream.Write(bytes, 0, bytes.Length);
    writeStream.Close();

    System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
    System.IO.Stream responseStream = response.GetResponseStream();
    System.IO.StreamReader readStream = new System.IO.StreamReader(responseStream, Encoding.UTF8);
    string jsonString = readStream.ReadToEnd();

    readStream.Close();
    responseStream.Close();
    response.Close();

    var json = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize(jsonString);
    int count = Int32.Parse(json[0]["result"]["metadata"]["globalCounts"]["count"].ToString().Replace(".0", ""));

    return count;}
9
Sajith

Cập nhật

Thật không may, số lượng chia sẻ Twitter là không thể với API 1.1

Tham chiếu: intgr/(number) là số lượng cổ phần và tất cả các phản hồi đều ở JSON

Facebook

http://graph.facebook.com/?id=http://{URL}

Trả về: 

{
   "id": "http://{URL}",
   "shares": intgr/(number)
}

Twitter

http://cdn.api.Twitter.com/1/urls/count.json?url=http://{URL}

Trả về:

{  
   "count": intgr/(number)
   "url":"http:\/\/{URL}\/"
}

cập nhật v1.1

Phiên bản 1.1 của API Twitter không hỗ trợ count.json. Vì vậy, nó sẽ không thể rút lại số lượng tweet. Tuy nhiên, tôi đã tìm ra rằng Nút Tweet sử dụng điểm cuối tùy chỉnh để nhận các số này. 

Đây là điểm cuối mới

https://cdn.syndication.Twitter.com/widgets/tweetbutton/count.json?url={URL}

Tôi không chắc liệu Twitter có gỡ bỏ điểm cuối này hay không và thay thế nó khi họ chính thức tắt phiên bản 1.0, nhưng nó hoạt động.

LinkedIn

http://www.linkedin.com/countserv/count/share?url=http://{URL&format=json

Trả về: 

{
   "count": intgr/(number),
   "fCnt": "intgr/(number)",
   "fCntPlusOne":"intgr/(number) + 1", // increased by one
   "url":"http:\/\/{URL}"
}

Lấy số lượng cổ phiếu với jQuery

Tham chiếu: cho Twitter và linkdIn tôi đã phải thêm callback để nhận được phản hồi

HTML: 

<p id="facebook-count"></p>
<p id="Twitter-count"></p>
<p id="linkdin-count"></p>

JS: 

$('#getJSON').click( function () {

    $('#data-tab').fadeOut();
    $URL = $('#urlInput').val();

    // Facebook Shares Count
    $.getJSON( 'http://graph.facebook.com/?id=' + $URL, function( fbdata ) {
        $('#facebook-count').text( 'The URL has ' + ReplaceNumberWithCommas(fbdata.shares) + ' shares count on Facebook')
    });

    // Twitter Shares Count
    $.getJSON( 'http://cdn.api.Twitter.com/1/urls/count.json?url=' + $URL + '&callback=?', function( twitdata ) {
        $('#Twitter-count').text( 'The URL has ' + ReplaceNumberWithCommas(twitdata.count) + ' shares count on Twitter')
    });

    // LinkIn Shares Count
    $.getJSON( 'http://www.linkedin.com/countserv/count/share?url=' + $URL + '&callback=?', function( linkdindata ) {
        $('#linkdin-count').text( 'The URL has ' + ReplaceNumberWithCommas(linkdindata.count) + ' shares count on linkdIn')
    });

    $('#data-tab').fadeIn();

});

Hoàn thành Fiddle

CẬP NHẬT:

Một Fiddle (trả về tổng số cổ phần trong 3 phần trên)

29
Adam Azad

Lớp Javascript này sẽ cho phép bạn lấy thông tin chia sẻ từ Facebook, Twitter và LinkedIn.

Ví dụ về cách sử dụng

<p>Facebook count: <span id="facebook_count"></span>.</p>
<p>Twitter count: <span id="Twitter_count"></span>.</p>
<p>LinkedIn count: <span id="linkedin_count"></span>.</p>
<script type="text/javascript">
    var smStats=new SocialMediaStats('https://google.com/'); // Replace with your desired URL
    smStats.facebookCount('facebook_count'); // 'facebook_count' refers to the ID of the HTML tag where the result will be placed.
    smStats.twitterCount('Twitter_count');
    smStats.linkedinCount('linkedin_count');    
</script>

Tải xuống

https://404it.no/js/blog/SocialMediaStats.js

Thêm vào tiêu đề HTML như thế này:

<script type="text/javascript" src="SocialMediaStats.js"></script>

Thêm ví dụ và tài liệu

Lớp Javascript để nhận chia sẻ URL trên Facebook, Twitter và LinkedIn

1
PerKristian

kiểm tra điều này:

//
http://www.jsfiddle.net/eXJBs
//

// để thay đổi URL thành của bạn, bạn sẽ tìm thấy http://www.google.com chỉ cần tắt nó đi và thêm http://www.yourdomain.com

và bạn cũng có thể kiểm tra các trang dành cho nhà phát triển facebook này rất hữu ích [.__.] https://developers.facebook.com/docs/plugins/share-button/

0
geekslot

Hàm này sẽ tìm nạp tổng số lượt chia sẻ từ facebook, g-plus, Linkedin, pinterest

function social_share_counts($pageurl)
{
    //facebook

    $fb_data = file_get_contents('http://graph.facebook.com/'.$pageurl);
    $fb_json = json_decode($fb_data,TRUE);
    if(count($fb_json) > 1){
        $facebook_shares = $fb_json['shares'];
    }
    else{
        $facebook_shares = 0;
    }
    //facebook

    //google
    $curl = curl_init();
    curl_setopt( $curl, CURLOPT_URL, "https://clients6.google.com/rpc" );
    curl_setopt( $curl, CURLOPT_POST, 1 );
    curl_setopt( $curl, CURLOPT_POSTFIELDS, '[{"method":"pos.plusones.get","id":"p","params":{"nolog":true,"id":"' . $pageurl . '","source":"widget","userId":"@viewer","groupId":"@self"},"jsonrpc":"2.0","key":"p","apiVersion":"v1"}]' );
    curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );
    curl_setopt( $curl, CURLOPT_HTTPHEADER, array( 'Content-type: application/json' ) );
    $curl_results = curl_exec( $curl );
    curl_close( $curl );
    $google_json = json_decode( $curl_results, true );

    $google_shares = intval( $google_json[0]['result']['metadata']['globalCounts']['count'] );
    //google

    //linkedin
    $linkedin_data = file_get_contents('https://www.linkedin.com/countserv/count/share?format=json&url='.$pageurl);
    $linkedin_json = json_decode($linkedin_data);
    $linkedin_shares = $linkedin_json->count;
    //linkedin

    //pinterest
    $pinterest_data = file_get_contents('http://api.pinterest.com/v1/urls/count.json?callback=sharecount&url='.$pageurl);
    preg_match('/"count":(\d*).+$/',$pinterest_data,$match);
    $pinterest_shares = $match[1];
    //pinterest

    return array("facebook"=>$facebook_shares,"google"=>$google_shares,"linkedin"=>$linkedin_shares,"pinterest"=>$pinterest_shares);
}

//now check->

$share_cnts = social_share_counts('https://www.facebook.com');
echo $share_cnts['facebook'];
0
srv