如何在Javascript SDK中处理图形api的结果以获取用户组列表

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

本文关键字:结果 获取 列表 用户组 api 图形 Javascript SDK 处理      更新时间:2023-09-26

在我的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
}
}
);

But No result to display.

编辑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},{您的array}和{1},{2}。在你的作品与你的数组

这很简单。

	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;
	  }
	});