此前有一篇作品详细介绍了怎么获取网页在FacebookTwitterLinkedIn交际平台上享受的数额,点击这里翻开。这里再扩充一下!

Twitter


GET URL:

http://cdn.api.twitter.com/1/urls/count.json?url=http://stylehatch.co

回到结果:

{
    "count":528,
    "url":"http://stylehatch.co/"
}

Facebook


**GET URL:**

http://graph.facebook.com/?id=http://stylehatch.co

重临结果:

{
   "id": "http://stylehatch.co",
   "shares": 61
}

Pinterest


**GET URL:**

http://api.pinterest.com/v1/urls/count.json?callback=&url=http://stylehatch.co

归来结果:

({"count": 0, "url": "http://stylehatch.co"})

LinkedIn


**GET URL:**

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

回来结果:

{
    "count":17,
    "fCnt":"17",
    "fCntPlusOne":"18",
    "url":"http:\/\/stylehatch.co"
}

Google Plus


POST URL:

https://clients6.google.com/rpc?key=YOUR_API_KEY

POST body:

[{
    "method":"pos.plusones.get",
    "id":"p",
    "params":{
        "nolog":true,
        "id":"http://stylehatch.co/",
        "source":"widget",
        "userId":"@viewer",
        "groupId":"@self"
        },
    "jsonrpc":"2.0",
    "key":"p",
    "apiVersion":"v1"
}]

回去结果:

[{
    "result": { 
        "kind": "pos#plusones", 
        "id": "http://stylehatch.co/", 
        "isSetByViewer": false, 
        "metadata": {
            "type": "URL", 
            "globalCounts": {
                "count": 3097.0
            }
        }
    } ,
    "id": "p"
}]

StumbledUpon


GET URL:

http://www.stumbleupon.com/services/1.01/badge.getinfo?url=http://stylehatch.co

回到结果:

{
    "result":{
        "url":"http:\/\/stylehatch.co\/",
        "in_index":true,
        "publicid":"1iOLcK",
        "views":39,
        "title":"Style Hatch - Hand Crafted Digital Goods",
        "thumbnail":"http:\/\/cdn.stumble-upon.com\/mthumb\/941\/72725941.jpg",
        "thumbnail_b":"http:\/\/cdn.stumble-upon.com\/bthumb\/941\/72725941.jpg",
        "submit_link":"http:\/\/www.stumbleupon.com\/submit\/?url=http:\/\/stylehatch.co\/",
        "badge_link":"http:\/\/www.stumbleupon.com\/badge\/?url=http:\/\/stylehatch.co\/",
        "info_link":"http:\/\/www.stumbleupon.com\/url\/stylehatch.co\/"
    },
    "timestamp":1336520555,
    "success":true
}

 

  这里有一个网站封装了一个小插件,专门用来在页面上展现社交网站分享工具条,能够直接拿过来用,相比较便于!http://sharrre.com/

  FacebookTwitterLinkedIn相比较常用,给出调用API的事例:

// Facebook
$.getJSON("http://graph.facebook.com/?id=http://stylehatch.co", function (d) {
    $("#fackbook_count").text("The Facebook Share count is: " + d.shares);
});

// Twitter
$.getJSON("http://cdn.api.twitter.com/1/urls/count.json?url=http://stylehatch.co&callback=?", function (d) {
    $("#twitter_count").text("The Twitter Share count is: " + d.count);
});

// LinkedIn
$.getJSON("http://www.linkedin.com/countserv/count/share?url=http://stylehatch.co&callback=?", function (d) {
    $("#linkedin_count").text("The LinkdeIn Share count is: " + d.count);
});

  IE浏览器可能会无法正确获取到Facebook回到的数量,可以尝尝在URL前面加上&callback=?,这样JQuery会将它正是JSONP来调用。

  Facebook还有另一个API再次来到XML数据,调用方法是这般的:

$.get("http://api.facebook.com/method/links.getStats?urls=http://stylehatch.co", function (d) {
    $("#fackbook_count").text("The Facebook Share count is: " + $(d).find("total_count").text());
});

  假诺在IE浏览器下冒出No
Transport错误而一筹莫展获拿到Facebook回去的数码,尝试在JavaScript代码的最前边加上$.support.cors
= true;
同意跨域访问数据。

 

将代码举行包装

  我们将地点FacebookTwitterLinkedIn五个社交网站的API举办打包,以造福页面调用。

$.fn.getShareCount = function (url) {
    var self = this;
    var displayShareCount = function (val, obj) {
        if (!isNaN(val) && val > 0) {
            obj.show();
            if (val > 999) {
                obj.attr("title", val);
                obj.text("500+");
            }
            else
                obj.text(val);
        }
    };

    return {
        facebook: function () {
            $.get("http://api.facebook.com/method/links.getStats?urls=" + url, function (d) {
                var c = $(d).find("total_count").text();
                self.each(function () { displayShareCount(c, $(this)); });
            });
        },
        twitter: function () {
            $.getJSON("http://cdn.api.twitter.com/1/urls/count.json?url=" + url + "&callback=?", function (d) {
                self.each(function () { displayShareCount(d.count, $(this)); });
            });
        },
        linkedin: function () {
            $.getJSON("http://www.linkedin.com/countserv/count/share?url=" + url + "&callback=?", function (d) {
                self.each(function () { displayShareCount(d.count, $(this)); });
            });
        }
    };
};

  然后在页面上那样调用:

$(function () {
    var shareUrl = window.location.href.toLowerCase();

    $('#fackbook_count').getShareCount(shareUrl).facebook();
    $('#twitter_count').getShareCount(shareUrl).twitter();
    $('#linkedin_count').getShareCount(shareUrl).linkedin();
});

 

相关文章

网站地图xml地图