繁体   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