Reputation: 970
I'm using the Facebook Javascript SDK to get inbox messages and so far I was able to get them and the transform it to a JSON object
function getMsgs() {
FB.api(
"/me/inbox",
function (response) {
if (response && !response.error) {
var result = JSON.stringify(response);
document.getElementById("msgs").innerHTML="<pre>"+result+"</pre>";
}
}
);
}
And what I end up getting is something like this:
{
"data":[
{
"id":"15986833470221166",
"to":{
"data":[
{
"id":"7888047207869023",
"name":"My Name"
},
{
"id":"101530783476778608",
"name":"Friend Name"
}
]
},
"updated_time":"2015-02-08T03:09:02+0000",
"unread":5,
"unseen":0,
"comments":{
"data":[
{
"id":"159268645347021166_1421118060",
"from":{
"id":"7888047207869023",
"name":"My Name"
},
"message":"blah blah blah",
"created_time":"2015-01-13T03:01:00+0000"
},
{
"id":"159268645347021166_1421118060",
"from":{
"id":"7888047207869023",
"name":"My Name"
},
"message":"blah blah blah",
"created_time":"2015-01-13T03:01:16+0000"
},
{
"id":"159268645347021166_1421118060",
"from":{
"id":"101530783476778608",
"name":"Friend Name"
},
"message":"blah blah blah",
"created_time":"2015-01-13T03:01:23+0000"
},
{
"id":"159268645347021166_1421118060",
"from":{
"id":"101530783476778608",
"name":"Friend Name"
},
"message":"blah blah blah",
"created_time":"2015-01-13T03:01:30+0000"
},
{
"id":"159268645347021166_1421118060",
"from":{
"id":"101530783476778608",
"name":"Friend Name"
},
"message":"blah blah blah",
"created_time":"2015-02-08T03:09:02+0000"
}
],
"paging":{
"previous":"https://graph.facebook.com/v2.2/15986453474543021166/comments?access_token=TOKEN&limit=25&since=1423364314942&__paging_token=TOKEN&__previous=1",
"next":"https://graph.facebook.com/v2.2/15986453474543021166/comments?access_token=TOKEN&limit=25&until=142111148324060&__paging_token=TOEKN"
}
}
}
I want to access the 'message' value. I want to create an array that stores every single message value in this JSON structure.
Upvotes: 0
Views: 192
Reputation: 2298
If you only need to get the messages, you can do with
if (response && !response.error) {
var m=null
, result=JSON.stringify(response)
, re=/"message":"([^"]+)"/g
, messages=[];
while( m=re.exec(result) ) {
messages.push(m[1]);
}
// messages array should now hold all the values by key "message"
//console.log(messages);
}
Upvotes: 1