如何在Javascript SDK中处理图形api的结果以获取用户组列表
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
}
}
);
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;
}
});
相关文章:
- 这是使用html快照和谷歌获取的预期结果吗?SEO/SPA
- jQuery使用api获取typeform结果
- 在foreach中获取ajax结果
- 对象拟合:获取结果尺寸
- Mongodb$in以与数组中相同的顺序获取结果
- 从重复的javascript数组结果集中只获取一行
- 轮询:获取请求直到结果合适
- 获取在表单/文本字段中显示的结果
- 获取json结果的身份验证问题
- 将敲除绑定应用于模板,并将结果作为字符串获取
- 无法使用streams/highland.js从mongodb的结果中获取数据
- 如何将mysql查询的结果获取到html文本框中
- 获取结果未定义(主干.js)
- AngularJS:如何获取$http结果作为函数的返回值
- 无法从IE中的data.responseText获取结果,但在其他浏览器中工作
- Json 结果获取值
- 从动态创建的数据进行计算的结果获取 NaN
- JSON 字符串化结果获取特定键的值
- 如何在promise解析时手动将promise的结果获取到作用域变量中
- 根据搜索结果获取Flickr图片