ember.js JSONAPIAdapter with hasMany - ember.js

I try to use a {json:api}-JSON with ember.js (1.13.3) and ember-data (1.13.4) by using the DS.JSONAPIAdapter.
The JSON:
{
"data": [
{
"type": "altersgruppe",
"id": "1",
"attributes": {
"name": "ALTER_21_24",
"tarifbeitraege": [
{
"type": "tarifbeitrag",
"id": "1",
"attributes": {
"name": "REISE",
"beitrag": "12.70",
"proergaenzung": "7,00",
"gesamtbeitrag": "25.99"
}
},
{
"type": "tarifbeitrag",
"id": "2",
"attributes": {
"name": "KRANKEN",
"beitrag": "25,70",
"proergaenzung": "7,00",
"gesamtbeitrag": "25.99"
}
}
]
}
},
{
"type": "altersgruppe",
"id": "2",
"attributes": {
"name": "ALTER_25_30",
"tarifbeitraege": [
{
"type": "tarifbeitrag",
"id": "3",
"attributes": {
"name": "REISE",
"beitrag": "29,70",
"proergaenzung": "7,00",
"gesamtbeitrag": "25.99"
}
},
{
"type": "tarifbeitrag",
"id": "4",
"attributes": {
"name": "KRANKEN",
"beitrag": "28,70",
"proergaenzung": "7,00",
"gesamtbeitrag": "30.99"
}
}
]
}
}
]
}
The models:
App.Altersgruppe = DS.Model.extend({
name: DS.attr('string'),
tarifbeitraege: DS.hasMany('tarifbeitrag', {async: true})
});
App.Tarifbeitrag = DS.Model.extend({
altersgruppe: DS.belongsTo('altersgruppe'),
name: DS.attr('string'),
beitrag: DS.attr('string'),
proergaenzung: DS.attr('string'),
gesamtbeitrag: DS.attr('string')
});
When I used the ember-inspector to see the data only the model "altersgruppe" has records. The model "tarifbeitrag" has no records.
So why?
The adapter:
App.AltersgruppeAdapter = DS.JSONAPIAdapter.extend({
namespace: REST_ADAPTER_NAMESPACE,
shouldBackgroundReloadRecord: function(store, snapshot){
return false;
}
});
It seems to me that the "hasMany"-Relationship does not work. How to fix that. Any ideas (JSON wrong? Model wrong). Thank you.

Because of Mike1o1's tip to read the {json:api}-Spec again and I made the
decision to changed the structure of the JSON to this:
{
"data": [
{
"type": "altersgruppe",
"id": "1",
"attributes": {
"name": "ALTER_21_24"
},
"relationships": {
"tarifbeitraege": {
"data": [
{
"type": "tarifbeitrag",
"id": "1"
},
{
"type": "tarifbeitrag",
"id": "2"
}
]
}
}
},
{
"type": "altersgruppe",
"id": "2",
"attributes": {
"name": "ALTER_25_30"
},
"relationships": {
"tarifbeitraege": {
"data": [
{
"type": "tarifbeitrag",
"id": "3"
},
{
"type": "tarifbeitrag",
"id": "4"
}
]
}
}
}
],
"included": [
{
"type": "tarifbeitrag",
"id": "1",
"attributes": {
"name": "REISE",
"beitrag": "25,70",
"proergaenzung": "7,00",
"gesamtbeitrag": "25.99"
}
},
{
"type": "tarifbeitrag",
"id": "2",
"attributes": {
"name": "KRANKEN",
"beitrag": "25,70",
"proergaenzung": "7,00",
"gesamtbeitrag": "25.99"
}
},
{
"type": "tarifbeitrag",
"id": "3",
"attributes": {
"name": "REISE",
"beitrag": "29,70",
"proergaenzung": "7,00",
"gesamtbeitrag": "25.99"
}
},
{
"type": "tarifbeitrag",
"id": "4",
"attributes": {
"name": "KRANKEN",
"beitrag": "28,70",
"proergaenzung": "7,00",
"gesamtbeitrag": "30.99"
}
}
]
}
This works with the DS.JSONAPIAdapter. Now in the ember-inspector I can see that the model "tarifbeitrag" has also records.

At first glance this doesn't look like a valid json-api response. tarifbeitraege should be a linked relationship, not embedded in the actual attributes of the data type. I don't believe json-api supports embedded attributes like that. Take a look at compound documents part of the spec for an example of what your json output should be.

Related

Infinite loading using Authorization header with swagger 2.0

I'm programming a swagger documentation with swagger 2.0 and the request containing an authorization header doesn't seem to work properly. In fact, when I add the token in the Authorize header then execute the query, it says loading indefinitely.
Loading request
I've been facing the same problem for 2 days and I don't find any topic dealing about my issue.
{
"swagger": "2.0",
"info": {
"description": "Swagger API",
"version": "1.0.0",
"title": "Swagger API",
"license": {
"name": "MIT",
"url": "https://opensource.org/licenses/MIT"
}
},
"securityDefinitions": {
"Bearer": {
"type": "apiKey",
"name": "Authorization",
"in": "header"
}
},
"paths": {
"/api/login": {
"post": {
"tags": ["Login"],
"summary": "Returns JWT",
"parameters": [
{
"in": "body",
"name": "Login body",
"description": "Login request used to obtain JWT",
"required": true,
"schema": {
"$ref": "#/components/Login"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/api/devices": {
"get": {
"tags": ["Devices"],
"summary": "Returns all devices",
"security": {
"Bearer": []
},
"responses": {
"200": {
"description": "GET success"
},
"401": {
"description": "Missing header with jwt"
}
}
},
"post": {
"tags": ["Devices"],
"summary": "Deploy all devices",
"security": {
"Bearer": []
},
"parameters": [
{
"in": "body",
"name": "Devices POST body",
"description": "Deploy devices",
"required": true,
"schema": {
"$ref": "#/components/Devices"
}
}
],
"responses": {
"200": {
"description": "Device deployment succeed"
},
"401": {
"description": "Missing header with jwt"
}
}
}
}
},
"components": {
"Login": {
"type": "object",
"properties": {
"login": {
"type": "object",
"properties": {
"email": {
"type": "string"
},
"password": {
"type": "string"
}
}
}
}
},
"Devices": {
"type": "object",
"properties": {
"devices": {
"type": "object",
"properties": {
"devEUILSBList": {
"type": "array",
"items": {
"type": "string"
}
},
"applicationID": {
"type": "integer"
},
"deviceProfileID": {
"type": "string"
}
}
}
}
}
}
}
Complementary information :
The backend is running with Flask
Swagger 2.0

How to validate nested properties in component schema (openapi 3 in Postman)

I'm working on an OpenAPI 3 schema.
I would like to use a data model from the components.schemas inside the responses content and have some required nested properties inside that data model. However, it doesn't seem like the required validation is being applied. I'm testing this in Postman with a mock server.
Here is my schema:
{
"openapi": "3.0.0",
"info": {
"version": "1.0.0",
"title": "Usage stats API"
},
"servers": [
{
"url": "http://some-middleware-endpoint.com"
}
],
"paths": {
"/publishers/{publisherId}/files/{fileId}": {
"get": {
"summary": "Get single file for publisher",
"parameters": [
{
"name": "publisherId",
"in": "path",
"description": "ID of the publisher",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "fileId",
"in": "path",
"description": "ID of the file",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
}
],
"responses": {
"200": {
"description": "File for publisher",
"headers": {
"Content-Type": {
"description": "application/json"
}
},
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"meta"
],
"properties": {
"meta": {
"type": "object",
"required": ["page"],
"properties": {
"$ref": "#/components/schemas/Pagination"
}
}
}
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"Pagination": {
"properties": {
"page": {
"required": ["current-page", "per-page", "from", "to", "total", "last-page"],
"type": "object",
"properties": {
"current-page": {
"type": "integer"
},
"per-page": {
"type": "integer"
},
"from": {
"type": "integer"
},
"to": {
"type": "integer"
},
"total": {
"type": "integer"
},
"last-page": {
"type": "integer"
}
}
}
}
}
}
}
}
This response passes validation:
{
"meta": {
"page": {}
}
}
Even though all of the attributes I've required ("required": ["current-page", "per-page", "from", "to", "total", "last-page"]) are not present.
Basically, I would like page and all its nested properties to be required.
I guess I'm doing something wrong in defining the properties. Any help is appreciated!
Oh well, I guess my issue was pulling up the $ref one level up.
The following seems to work inside responses.content.
"meta": {
"type": "object",
"required": [
"page"
],
"$ref": "#/components/schemas/Pagination"
}
instead of
"meta": {
"type": "object",
"required": ["page"],
"properties": {
"$ref": "#/components/schemas/Pagination"
}
}

facebook reactions to be grouped by aggs terms elasticsearch

I am working on Facebook analytic, Here is a query which is supposed to fetch the summary of the reactions from Facebook page posts,
Note: posts json is as it is inserted to elastic-search db
{
"query": {
"match": {
"from.id": "[Page-id]"
}
},
"aggs": {
"summary_reaction": {
"terms": {
"field": "reactions.data.type.keyword"
}
}
}
}
Only issue is query return unique count whereas it should consider all reactions.
My result is
"aggregations": {
"reaction_summary": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "LIKE",
"doc_count": 2
},
{
"key": "HAHA",
"doc_count": 1
}
]
}
}
here is the sample json
{
"took": 4,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"hits": {
"total": 3,
"max_score": 6.158189,
"hits": [
{
"_index": "facebook_page",
"_type": "post",
"_id": "AV1RMRKSSM3OTvGpqzx7",
"_score": 6.158189,
"_source": {
"reactions": {
"paging": {
"cursors": {
"after": "TVRFMk9EYzVOekl5TWpjMU5USTJPakUxTURBek1EVTNOREU2TWpVME1EazJNVFl4TXc9PQZDZD",
"before": "TVRFMk9EYzVOekl5TWpjMU5USTJPakUxTURBek1EVTNOREU2TWpVME1EazJNVFl4TXc9PQZDZD"
}
},
"data": [
{
"pic_large": "https://fb-s-d-a.akamaihd.net/h-ak-fbx/v/t1.0-1/p200x200/20108099_116879808942184_8792637908147052517_n.png?oh=4dcc9a9bbdfc965eb477a14775f31448&oe=5A0BCFB5&__gda__=1510661157_f329dd30b13490dbae8d05d3aa45d79f",
"type": "LIKE",
"id": "116879722275526",
"name": "Moojaa"
}
]
},
"from": {
"picture": {
"data": {
"url": "https://fb-s-d-a.akamaihd.net/h-ak-fbx/v/t1.0-1/p50x50/20108099_116879808942184_8792637908147052517_n.png?oh=24cc256b24e5da70f306afcf784a636d&oe=59FBA1D4&__gda__=1509895651_44acee6189c7c1cb6eed023a6e742d1a",
"is_silhouette": false
}
},
"name": "Moojaa",
"id": "116879722275526"
},
"coordinates": {},
"created_time": "2017-07-17T15:35:35+0000",
"message": "Kuthey e Moojaa",
"type": "status",
"id": "116879722275526_116886608941504"
}
},
{
"_index": "facebook_page",
"_type": "post",
"_id": "AV1RMRViSM3OTvGpqzx8",
"_score": 6.158189,
"_source": {
"reactions": {
"paging": {
"cursors": {
"after": "TVRFMk9EYzVOekl5TWpjMU5USTJPakUxTURBek1EUTBNRGc2TWpVME1EazJNVFl4TXc9PQZDZD",
"before": "TVRBd01ERTFOREl5TkRrNE56Y3dPakUxTURBek1EUTFNams2TWpVME1EazJNVFl4TXc9PQZDZD"
}
},
"data": [
{
"pic_large": "https://fb-s-a-a.akamaihd.net/h-ak-fbx/v/t1.0-1/p200x200/16864759_114731265717623_8811777667276972672_n.jpg?oh=836c6d5145bc8023d3ac60e0dfd42bde&oe=5A00D0DC&__gda__=1509885772_ad8923f4369250c2c2051c5e9293331f",
"type": "LIKE",
"id": "111467022710714",
"name": "Ram Singh Shankar"
},
{
"pic_large": "https://fb-s-d-a.akamaihd.net/h-ak-fbx/v/t1.0-1/p200x200/20108099_116879808942184_8792637908147052517_n.png?oh=4dcc9a9bbdfc965eb477a14775f31448&oe=5A0BCFB5&__gda__=1510661157_f329dd30b13490dbae8d05d3aa45d79f",
"type": "LIKE",
"id": "116879722275526",
"name": "Moojaa"
}
]
},
"from": {
"picture": {
"data": {
"url": "https://fb-s-d-a.akamaihd.net/h-ak-fbx/v/t1.0-1/p50x50/20108099_116879808942184_8792637908147052517_n.png?oh=24cc256b24e5da70f306afcf784a636d&oe=59FBA1D4&__gda__=1509895651_44acee6189c7c1cb6eed023a6e742d1a",
"is_silhouette": false
}
},
"name": "Moojaa",
"id": "116879722275526"
},
"coordinates": {},
"comments": {
"paging": {
"cursors": {
"after": "WTI5dGJXVnVkRjlqZAFhKemIzSTZANVEUyT0RneE5UUTRPVFF5TURFd09qRTFNREF6TURRMk5Eaz0ZD",
"before": "WTI5dGJXVnVkRjlqZAFhKemIzSTZANVEUyT0RneE5EUXlNamMxTXpVME9qRTFNREF6TURRMk1URT0ZD"
}
},
"data": [
{
"message": "test",
"from": {
"picture": {
"data": {
"url": "https://fb-s-a-a.akamaihd.net/h-ak-fbx/v/t1.0-1/p200x200/16864759_114731265717623_8811777667276972672_n.jpg?oh=836c6d5145bc8023d3ac60e0dfd42bde&oe=5A00D0DC&__gda__=1509885772_ad8923f4369250c2c2051c5e9293331f",
"is_silhouette": false
}
},
"name": "Ram Singh Shankar",
"id": "111467022710714"
},
"id": "116880885608743_116881442275354"
},
{
"message": "test 2",
"from": {
"picture": {
"data": {
"url": "https://fb-s-a-a.akamaihd.net/h-ak-fbx/v/t1.0-1/p200x200/16864759_114731265717623_8811777667276972672_n.jpg?oh=836c6d5145bc8023d3ac60e0dfd42bde&oe=5A00D0DC&__gda__=1509885772_ad8923f4369250c2c2051c5e9293331f",
"is_silhouette": false
}
},
"name": "Ram Singh Shankar",
"id": "111467022710714"
},
"id": "116880885608743_116881548942010"
}
]
},
"created_time": "2017-07-17T15:13:23+0000",
"message": "another Mooja",
"type": "status",
"id": "116879722275526_116880885608743"
}
},
{
"_index": "facebook_page",
"_type": "post",
"_id": "AV1RMRgtSM3OTvGpqzx9",
"_score": 6.158189,
"_source": {
"reactions": {
"paging": {
"cursors": {
"after": "TVRBd01ERTFOREl5TkRrNE56Y3dPakUxTURBek1EUXpPRGM2TnpnNE5qUTRNRE0zT1RFek16RXkZD",
"before": "TVRFMk9EYzVOekl5TWpjMU5USTJPakUxTURBek1EUTVOVEk2TnpnNE5qUTRNRE0zT1RFek16RXkZD"
}
},
"data": [
{
"pic_large": "https://fb-s-d-a.akamaihd.net/h-ak-fbx/v/t1.0-1/p200x200/20108099_116879808942184_8792637908147052517_n.png?oh=4dcc9a9bbdfc965eb477a14775f31448&oe=5A0BCFB5&__gda__=1510661157_f329dd30b13490dbae8d05d3aa45d79f",
"type": "HAHA",
"id": "116879722275526",
"name": "Moojaa"
},
{
"pic_large": "https://fb-s-a-a.akamaihd.net/h-ak-fbx/v/t1.0-1/p200x200/16864759_114731265717623_8811777667276972672_n.jpg?oh=836c6d5145bc8023d3ac60e0dfd42bde&oe=5A00D0DC&__gda__=1509885772_ad8923f4369250c2c2051c5e9293331f",
"type": "HAHA",
"id": "111467022710714",
"name": "Ram Singh Shankar"
}
]
},
"from": {
"picture": {
"data": {
"url": "https://fb-s-d-a.akamaihd.net/h-ak-fbx/v/t1.0-1/p50x50/20108099_116879808942184_8792637908147052517_n.png?oh=24cc256b24e5da70f306afcf784a636d&oe=59FBA1D4&__gda__=1509895651_44acee6189c7c1cb6eed023a6e742d1a",
"is_silhouette": false
}
},
"name": "Moojaa",
"id": "116879722275526"
},
"coordinates": {},
"comments": {
"paging": {
"cursors": {
"after": "WTI5dGJXVnVkRjlqZAFhKemIzSTZANVEUyT0RneE9ESTFOakE0TmpRNU9qRTFNREF6TURRM05EYz0ZD",
"before": "WTI5dGJXVnVkRjlqZAFhKemIzSTZANVEUyT0RneE5UVTRPVFF5TURBNU9qRTFNREF6TURRMk5UUT0ZD"
}
},
"data": [
{
"message": "test 3",
"from": {
"picture": {
"data": {
"url": "https://fb-s-d-a.akamaihd.net/h-ak-fbx/v/t1.0-1/p200x200/20108099_116879808942184_8792637908147052517_n.png?oh=4dcc9a9bbdfc965eb477a14775f31448&oe=5A0BCFB5&__gda__=1510661157_f329dd30b13490dbae8d05d3aa45d79f",
"is_silhouette": false
}
},
"name": "Moojaa",
"id": "116879722275526"
},
"id": "116880192275479_116881558942009"
},
{
"message": "test ram",
"from": {
"picture": {
"data": {
"url": "https://fb-s-a-a.akamaihd.net/h-ak-fbx/v/t1.0-1/p200x200/16864759_114731265717623_8811777667276972672_n.jpg?oh=836c6d5145bc8023d3ac60e0dfd42bde&oe=5A00D0DC&__gda__=1509885772_ad8923f4369250c2c2051c5e9293331f",
"is_silhouette": false
}
},
"name": "Ram Singh Shankar",
"id": "111467022710714"
},
"id": "116880192275479_116881578942007"
},
{
"message": "test singh",
"from": {
"picture": {
"data": {
"url": "https://fb-s-a-a.akamaihd.net/h-ak-fbx/v/t1.0-1/p200x200/16864759_114731265717623_8811777667276972672_n.jpg?oh=836c6d5145bc8023d3ac60e0dfd42bde&oe=5A00D0DC&__gda__=1509885772_ad8923f4369250c2c2051c5e9293331f",
"is_silhouette": false
}
},
"name": "Ram Singh Shankar",
"id": "111467022710714"
},
"id": "116880192275479_116881598942005"
},
{
"message": "khair",
"from": {
"picture": {
"data": {
"url": "https://fb-s-d-a.akamaihd.net/h-ak-fbx/v/t1.0-1/p200x200/20108099_116879808942184_8792637908147052517_n.png?oh=4dcc9a9bbdfc965eb477a14775f31448&oe=5A0BCFB5&__gda__=1510661157_f329dd30b13490dbae8d05d3aa45d79f",
"is_silhouette": false
}
},
"name": "Moojaa",
"id": "116879722275526"
},
"id": "116880192275479_116881825608649"
}
]
},
"created_time": "2017-07-17T15:10:12+0000",
"message": "Testing my Mooja",
"type": "status",
"id": "116879722275526_116880192275479"
}
}
]
}
}
You have to set data inside the reactions as nested type and you can do nested aggregation on the data to get all the counts for the type.
Mappings
PUT facebook_index1
{
"mappings": {
"document_type" : {
"properties": {
"reactions" : {
"type": "object",
"properties": {
"data" : {
"type" : "nested",
"properties" : {
"type" : {
"type" : "keyword"
}
}
}
}
}
}
}
}
}
Query
use nested aggs to aggregate for type for data.
POST facebook_index1/_search
{
"size": 0,
"aggs": {
"nested_data_aggs": {
"nested": {
"path": "reactions.data"
},
"aggs": {
"summary_reaction": {
"terms": {
"field": "reactions.data.type",
"size": 10
}
}
}
}
}
}
Hope this works

Hypen in response data is throwing error when setting as global variable for nested response

I have a post man request. Which returns a response data as:
[
{
"id": "7ca27c09-2b67-417e-b367-f97d49824a2f",
"tags": [],
"type": "ApplicationProfile",
"userId": "2f2c8684-874d-49ea-bfa4-977069c1e3e2",
"profile": {
"User-Profile": {
"PHI": {
"gender": "Male",
"surgeryDate": {
"value": "2017-06-06"
},
"surgeryType": {
"value": "gastricBand"
},
"heightInches": "72",
"approvalPhase": "2",
"profileImageUrl": "",
"motivationalImageUrl": ""
},
"PII": {
"mail": "c11#c111.com",
"lastName": "",
"firstName": "name1",
"shouldReceiveNotifications": true
}
},
"motivationalGoals": [
{
"goal": "Improving health",
"goalId": "2957"
},
{
"goal": "Relieving pain",
"goalId": "2958"
},
{
"goal": "Feeling better",
"goalId": "2960"
}
]
},
"version": 35,
"createdBy": "2f2c8684-874d-49ea-bfa4-977069c1e3e2",
"lastModifiedBy": "2f2c8684-874d-49ea-bfa4-977069c1e3e2",
"applicationName": "Health Partner",
"createdDateTime": "2017-06-08T16:08:32.497Z",
"lastModifiedDateTime": "2017-06-09T13:23:03.503Z"
},
{
"id": "091b5ebd-b096-436e-a703-f97f0ae77baf",
"tags": [
"Application-Profile"
],
"type": "ApplicationProfile",
"userId": "2f2c8684-874d-49ea-bfa4-977069c1e3e2",
"profile": {
"User-Profile": {
"PHI": {
"gender": "",
"surgeryDate": {
"value": "2017-06-01"
},
"surgeryType": {
"value": ""
},
"heightInches": "72",
"approvalPhase": "2",
"profileImageUrl": "",
"motivationalImageUrl": ""
},
"PII": {
"mail": "c11#c111.com",
"lastName": "Dev",
"firstName": "Kat",
"shouldReceiveNotifications": true
}
},
"motivationalGoals": [
{
"goal": "Improving health",
"goalId": "2957"
},
{
"goal": "Relieving pain",
"goalId": "2958"
},
{
"goal": "Feeling better",
"goalId": "2960"
}
]
},
"version": 41,
"createdBy": "2f2c8684-874d-49ea-bfa4-977069c1e3e2",
"lastModifiedBy": "2f2c8684-874d-49ea-bfa4-977069c1e3e2",
"applicationName": "Health Partner Weightloss",
"createdDateTime": "2017-06-03T16:19:57.811Z",
"lastModifiedDateTime": "2017-06-08T16:07:49.555Z"
}
]
I need to extract the value of the emailid and set as global variable.
here is my code:
var jsonData1 = JSON.parse(responseBody);
postman.setGlobalVariable("jsonData1",jsonData1.profile.User-Profile.PII.mail);
But I am getting error. "User is undefined".
The problem here is that the hyphen / minus sign is interpreted as the subtraction operator.
Consider changing your API and using "userProfile" instead of "User-Profile".

Facebook Graph Api: Unable to get latest post for keywords

Can anyone help me, When I request using link
https://graph.facebook.com/search?&limit=2&until=now&q=hi&type=post&access_token=AAAAAAITEghMBAIScEzst3h5VpV8pKZA7di2ZC3czxr5
Note: I am not giving valid token for security reason.
I always get the result for 27 Nov 2012, while I tried to search for latest post. Am I missing something? Please help.
Thanks in Advance.
RESULT I get:
{
"data": [
{
"id": "730221920_10151138508071921",
"from": {
"name": "Pinky Saowichit",
"id": "730221920"
},
"message": "\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c\u0e19\u0e35\u0e49\u0e2d\u0e32\u0e08\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e2d\u0e2d\u0e31\u0e19\u0e1a\u0e48\u0e2d\u0e22\u0e46 \u0e19\u0e30\u0e04\u0e30 \u0e41\u0e1f\u0e19\u0e04\u0e25\u0e31\u0e1a \u0e43\u0e2b\u0e49\u0e23\u0e39\u0e49\u0e27\u0e48\u0e48\u0e32\u0e04\u0e34\u0e14\u0e16\u0e36\u0e07\u0e19\u0e30\u0e04\u0e30 \u0e41\u0e15\u0e48\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49\u0e40\u0e23\u0e32\u0e01\u0e33\u0e25\u0e31\u0e07\u0e04\u0e34\u0e14\u0e16\u0e36\u0e07\u0e04\u0e38\u0e13 \u0e04\u0e32\u0e19\u0e18\u0e35\u0e41\u0e25\u0e30\u0e40\u0e17\u0e40\u0e23\u0e0b\u0e48\u0e32\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e21\u0e32\u0e01\u0e46 \u0e2b\u0e38 \u0e2b\u0e38",
"privacy": {
"value": ""
},
"type": "status",
"status_type": "mobile_status_update",
"created_time": "2012-11-27T03:12:32+0000",
"updated_time": "2012-11-27T07:44:54+0000",
"likes": {
"data": [
{
"name": "Weniefredo Laud",
"id": "100004751890183"
},
{
"name": "\u0e1e\u0e23\u0e15 \u0e1c\u0e25\u0e14\u0e35",
"id": "100001056963372"
},
{
"name": "\u0e08\u0e23\u0e34\u0e0d\u0e32 \u0e25\u0e2d\u0e27",
"id": "100000046347271"
},
{
"name": "Noolek Tikamborn",
"id": "100003048464258"
}
],
"count": 6
}
},
{
"id": "100003971930240_283727615063091",
"from": {
"name": "Mariana Salcedo",
"id": "100003971930240"
},
"story": "Mariana Salcedo shared a link.",
"picture": "http://external.ak.fbcdn.net/safe_image.php?d=AQASxQms6c0xFkdO&w=90&h=90&url=http\u00253A\u00252F\u00252Fask.fm\u00252Fimages\u00252F50x50.gif",
"link": "http://ask.fm/marianasalcedo/answer/15735435637",
"name": "CRUSH hi",
"caption": "jajajajaja que enfadosa erees!",
"icon": "http://static.ak.fbcdn.net/rsrc.php/v2/yN/x/aS8ecmYRys0.gif",
"privacy": {
"value": ""
},
"type": "link",
"status_type": "shared_story",
"application": {
"name": "Ask.fm",
"id": "129215213762342"
},
"created_time": "2012-11-27T03:11:38+0000",
"updated_time": "2012-11-27T03:11:38+0000"
}
],
"paging": {
"previous": "https://graph.facebook.com/search?q=hi&limit=2&type=post&access_token=AAAAAAITEghMBAIScEzst3h5VpV8pKZA7di2ZC3czxr5ANnvKPPc1wqYJJZAANd9PI0NKLX5Xk5ReRX3T01iim8BoJp6r16itU8vPxRP&since=1353985952&__previous=1",
"next": "https://graph.facebook.com/search?q=hi&limit=2&type=post&access_token=AAAAAAITEghMBAIScEzst3h5VpV8pKZA7di2ZC3czxr5ANnvKPPc1wqYJJZAANd9PI0NKLX5Xk5ReRX3T01iim8Bo&until=1353985897"
}
}