2012-01-19 21 views
5

我想獲得計數的twitter,臉書和谷歌與jquery.getJSON請求從偉大的guide by John Dyer開始如何做相同的C#和PHPTwitter的鏈接,Facebook的喜歡和谷歌+1與Jquery和AJAX的計數

其實Twitter和Facebook的作品,但谷歌不... JSON響應是:

{ 
    "error": { 
    "code": 400, 
    "message": "Required value: id", 
    "data": [ 
    { 
    "domain": "global", 
    "reason": "required", 
    "message": "Required value: id" 
    } 
    ] 
}, 
"id": "p" 
} 

這裏是代碼:

<script type="text/javascript"> 
    function getfbcount(url){ 
    var fblikes; 
    $.getJSON('http://graph.facebook.com/?ids=' + url, function(data){; 
     fblikes = data[url].shares; 
     $('body').append('fb likes ' + fblikes); 
    }); 
    } 
    function gettwcount(url){ 
    var tweets; 
    $.getJSON('http://urls.api.twitter.com/1/urls/count.json?url=' + url + '&callback=?', function(data){ 
     tweets = data.count; 
     $('body').append('tweets ' + tweets); 
    }); 
    } 
    function getplusone(url){ 
    var plusones; 
    $.getJSON('https://clients6.google.com/rpc?key=AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQ' + 'callback=?', 
     { 
      "method":"pos.plusones.get", 
      "id":"p", 
      "params":{ 
       "nolog":true, 
       "id":url, 
       "source":"widget", 
       "userId":"@viewer", 
       "groupId":"@self" 
      }, 
      "jsonrpc":"2.0", 
      "key":"p", 
      "apiVersion":"v1" 
     }, 
     function(data){   
     plusones = data.count; 
     $('body').append('+1 ' + plusones); 
    }); 
    } 
    $(document).ready(function($){ 
     var url = "http://www.google.com" 
     getfbcount(url); 
     gettwcount(url); 
     getplusone(url); 
    }); 
    </script> 
+0

你在某處傳遞了一個無效參數。仔細檢查一下你看到的google + API的一些例子,並確保你的格式正確 – Evan

回答

3

你可以不是M將跨域請求發送到clients6.google.com服務器。你可以看到這在您的瀏覽器的控制檯,如果你離開了這個部分:

+ 'callback=?' 

Twitter和Facebook允許這些請求......

+0

感謝eikes你是對的 – alesmaru

1

你只需要一個「&」前「回調」?目前看起來你正在將它粘在鑰匙的尾部。

0

截至目前從客戶網站獲得g + count是不可能的。你必須從服務器端完成。以下是該代碼的ruby代碼。以下代碼返回頁面的Google Plus計數作爲json對象。

def get_gplus_count 
    google_api_url = 'https://plusone.google.com/_/+1/fastbutton?url=' 
    page_url = 'http://www.linkOfThePageWhoseGPlusCountYouWant.net' 
    g_count_div = '#aggregateCount' 
    g_plus_count = "-1" 
    begin 
    content = Nokogiri::HTML(open(google_api_url + page_url).read) 
    g_plus_count = content.css(g_count_div).text 
    rescue => e 
    end 

    render :json => { :g_plus_count => g_plus_count } 
end 
0

首先,你必須創建你的頁面的用戶名(參見下頁名稱@username。只需點擊它...)

然後轉到https://developers.facebook.com/tools/explorer/並獲得令牌密鑰,生成訪問

然後腳本類似的東西

function facebookLikesCount(access_token, pageusername) 
{ 
var url = "https://graph.facebook.com/"+pageusername+"?fields=likes&access_token="+access_token+""; 

$.getJSON(url,function(json){ 
alert(json.likes); 
}); 
} 

facebookLikesCount('your accesstoken', 'pageusername'); 

它爲我工作。 我從來沒有使用g +和twitter

相關問題