簡體   English   中英

如何處理圖API的結果以獲取Javascript SDK中的用戶組列表

[英]how to handle result of graph api to get list of user's groups in Javascript SDK

在我的Facebook應用程序中。 我需要獲取用戶組的列表。 但是問題是我的JavaScript不好,因此無法處理結果。 使用圖API我可以通過使用獲取用戶名

response.name

但在組列表中,看起來卻有所不同。 我用來獲取組列表的腳本

FB.api(
"/me/groups",
function (response) {
if (response && !response.error) {
/* handle the result */
}
}
);

但是我不知道該如何處理。 當我在圖形瀏覽器中嘗試時,結果就像

{
"data": [
{
"name": "jindagi na melegi dubara", 
"unread": 9, 
"bookmark_order": 999999999, 
"id": "1398847113716538"
}, 
{
"name": "Online IT Clubs", 
"unread": 25, 
"bookmark_order": 999999999, 
"id": "556540827777044"
}, 
{
"name": "Bank exams preparation(2014)", 
"bookmark_order": 9, 
"id": "663444460375219"
 }, 
 ], 
"paging": {
 "next": "https://graph.facebook.com/v2.0/802942813062683/groups?   icon_size=16&limit=5000&offset=5000&__after_id=enc_AeyYqXtvk-KAYVvplkod74WiEHqLL6BfmTfuR5gchidafW3rWME4kpqm5YdHLPYkVw0o93poJ7Ib41eOoitEi-Tk"
}
}

我想在我的應用程序中使用組ID和名稱。 你能告訴我如何處理結果。 提前致謝。

編輯:我還檢查以下編輯編輯1

FB.api(
"/me/groups",
function (response) {
if (response && !response.error) {
response.data[0].name
}
}
);

但是沒有結果可顯示。

編輯2

FB.api(
"/me/groups",
function (response) {
if (response && !response.error) {
for (var l = response.data.length, i = 0; i < l; i++) {
var obj = response.data[i];
console.log(obj.name);
console.log(obj.id);
}
}
}
);

同樣的問題

由於詳細信息位於數組格式的data屬性內部,因此您應該迭代response.data並提取name和其他詳細信息

您的回復結構是

響應

--data
----[
------{
------name
------unread
------bookmark_order
------id
------}
------{
------....
------}
------]
----paging
------next

代碼(jQuery)

 $.each(response.data, function (i, obj) {
    console.log(obj.name);
    console.log(obj.unread);
    console.log(obj.bookmark_order);
    console.log(obj.id);
 });

代碼(JS)

for (var l = response.data.length, i = 0; i < l; i++) {
    var obj = response.data[i];
    console.log(obj.name);
    console.log(obj.unread);
    console.log(obj.bookmark_order);
    console.log(obj.id);
}

取決於您要如何顯示信息。 例如,您可以使用jQuery或其他一些庫來動態更新<div>元素的內容。

看看這個JSFiddle: http : //jsfiddle.net/eCy58/1/

解決此問題的一種方法:(在您知道response.fields之前)

FB.api(
"{your rwquest}",
function (response) {
  if (response && !response.error) {

    var {your_Arrey} = [] ;
    response['data'].forEach(function(data) {
    if (data.status != null)
    {your_Arrey}.push(data.{1}+data.{2}+'<br>');});
    console.dir({your_Arrey});

  }
}

將{您的rwquest},{您的Arrey}和{1},{2}替換為您的數據。 在與Arrey合作順利之后

這很容易。

  FB.api('/me/groups', function(response) { var l = response.data.length; for (i = 0; i < l; i++) { var obj = response.data[i]; var groupName = obj.name; var groupId = obj.id; } }); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM