2015-10-14 65 views
0

我正在嘗試獲取一些Facebook組的成員數量。我試圖玩Facebook Graph API,但它不起作用:如何將Facebook羣組的成員數量轉換爲Google電子表格?

function facebook(url) { 
    var jsondata = UrlFetchApp.fetch('http://graph.facebook.com/http://www.facebook.com/groups/449592401822610/?ref=br_rs'); 
var object = Utilities.jsonParse(jsondata.getContentText()); 
return object.shares; 
} 

有沒有可能這樣做? 感謝您的幫助

[更新] 有時我沒有該組的ID。我寫這個來解決這個問題,但它不起作用...

function facebook(group) { 
    if (isNaN(group) == true) { 
    var jsondata1 = UrlFetchApp.fetch('https://graph.facebook.com/search?q='+group+'&type=group&access_token={my token}'); 
    var object1 = Utilities.jsonParse(jsondata1.getContentText()); 
    var id = object1.data.id; 

    var jsondata2 = UrlFetchApp.fetch('https://graph.facebook.com/v2.5/'+id+'/members?summary=true&access_token={my token}'); 
    var object2 = Utilities.jsonParse(jsondata2.getContentText()); 
    return object2.summary.total_count; 
    } 
    else { 
    var jsondata = UrlFetchApp.fetch('https://graph.facebook.com/v2.5/'+group+'/members?summary=true&access_token={my token}'); 
    var object = Utilities.jsonParse(jsondata.getContentText()); 
    return object.summary.total_count; 
    } 
} 

任何想法?

回答

3

使用圖形API

https://graph.facebook.com/v2.5/449592401822610/members?summary=true&access_token={user-access_token} 

你會得到迴應這樣,如果它是封閉的羣體

{ 
"data": [ 

], 
"summary": { 
    "total_count": 4113 
} 
} 

如果是公共團體,您還將收到會員詳細信息data部分

好運

注意:這隻會返回計數< 5000成員。如果你的團隊接近5000或超過5000,它將返回4897,4756或其他「隨機」數字,但永遠不會返回超過5000.

+0

它的工作非常感謝! – AlphaNico

+0

乾杯...... :) –

+0

我還有一個問題,有時在我的名單中,我沒有該組的ID,但他的名字。我試圖寫一個函數來獲取ID,但它不起作用,你看到我有什麼錯誤嗎?謝謝(請參閱問題的更新) – AlphaNico

0

它看起來像在你的代碼的URL是錯誤的,我猜應該是

http://graph.facebook.com/groups/449592401822610/?ref=br_rs 
+0

謝謝,當我在我的Web瀏覽器中輸入此URL時,我得到: { 「錯誤」:{ 「消息」: 「訪問令牌需要請求此資源。」, 「類型」: 「OAuthException」, 「代碼」:104, 「fbtrace_id」:「DAUjkZeHqRr 「 } } – AlphaNico

+0

聽起來像你需要將訪問令牌添加到URL –

相關問題