1
我目前通過GoogleContact API v3訪問谷歌聯繫人。我使用以下命令:是否有sdk/lib來解析由Google Contact API v3返回的gdata(json)數據?
"https://www.google.com/m8/feeds/contacts/default/full?access_token=" + token.access_token + "&alt=json&v=3&q=Susan"
它以gdata格式返回一個json結構響應。
{
"version": "1.0",
"encoding": "UTF-8",
"feed": {
"xmlns": "http://www.w3.org/2005/Atom",
"xmlns$openSearch": "http://a9.com/-/spec/opensearch/1.1/",
"xmlns$batch": "http://schemas.google.com/gdata/batch",
"xmlns$gd": "http://schemas.google.com/g/2005",
"xmlns$gContact": "http://schemas.google.com/contact/2008",
"gd$etag": "W/\"A0IGQ3gycSt7I2A9XR5WEk4.\"",
"id": {
"$t": "[email protected]"
},
"updated": {
"$t": "2017-01-24T06:32:02.699Z"
},
"category": [{
"scheme": "http://schemas.google.com/g/2005#kind",
"term": "http://schemas.google.com/contact/2008#contact"
}],
"title": {
"$t": "User1 contact"
},
"link": [{
"rel": "alternate",
"type": "text/html",
"href": "http://www.google.com/"
}, {
"rel": "http://schemas.google.com/g/2005#feed",
"type": "application/atom+xml",
"href": "https://www.google.com/m8/feeds/contacts/darewreckk%40gmail.com/full?v=3"
}, {
"rel": "http://schemas.google.com/g/2005#post",
"type": "application/atom+xml",
"href": "https://www.google.com/m8/feeds/contacts/firstlast%40gmail.com/full?v=3"
}, {
"rel": "http://schemas.google.com/g/2005#batch",
"type": "application/atom+xml",
"href": "https://www.google.com/m8/feeds/contacts/firstlast%40gmail.com/full/batch?v=3"
}, {
"rel": "self",
"type": "application/atom+xml",
"href": "https://www.google.com/m8/feeds/contacts/firstlast%40gmail.com/full?alt=json&q=First&max-results=25&v=3"
}],
"author": [{
"name": {
"$t": "First Last"
},
"email": {
"$t": "[email protected]"
}
}],
"generator": {
"version": "1.0",
"uri": "http://www.google.com/m8/feeds",
"$t": "Contacts"
},
"openSearch$totalResults": {
"$t": "2"
},
"openSearch$startIndex": {
"$t": "1"
},
"openSearch$itemsPerPage": {
"$t": "25"
},
"entry": [{
"gd$etag": "\"QHc9fjVSLyt7I2A9WxBXFUgKRAI.\"",
"id": {
"$t": "http://www.google.com/m8/feeds/contacts/firstlast%40gmail.com/base/8"
},
"updated": {
"$t": "2010-01-26T23:59:21.966Z"
},
"app$edited": {
"xmlns$app": "http://www.w3.org/2007/app",
"$t": "2010-01-26T23:59:21.966Z"
},
"category": [{
"scheme": "http://schemas.google.com/g/2005#kind",
"term": "http://schemas.google.com/contact/2008#contact"
}],
"title": {
"$t": "FirstName LastName"
},
"link": [{
"rel": "http://schemas.google.com/contacts/2008/rel#photo",
"type": "image/*",
"href": "https://www.google.com/m8/feeds/photos/media/first.name%40gmail.com/8?v=3"
}, {
"rel": "self",
"type": "application/atom+xml",
"href": "https://www.google.com/m8/feeds/contacts/first.name%40gmail.com/full/8?v=3"
}, {
"rel": "edit",
"type": "application/atom+xml",
"href": "https://www.google.com/m8/feeds/contacts/first.name%40gmail.com/full/8?v=3"
}],
"gd$name": {
"gd$fullName": {
"$t": "First Last"
},
"gd$givenName": {
"$t": "First"
},
"gd$familyName": {
"$t": "Last"
}
},
"gd$email": [{
"rel": "http://schemas.google.com/g/2005#other",
"address": "[email protected]",
"primary": "true"
}]
}, {
"gd$etag": "\"RX0_cTVSLyt7I2A9WxFTEUUKRwY.\"",
"id": {
"$t": "http://www.google.com/m8/feeds/contacts/first.last%40gmail.com/base/7cba75689bbb171"
},
"updated": {
"$t": "2010-04-02T03:47:04.349Z"
},
"app$edited": {
"xmlns$app": "http://www.w3.org/2007/app",
"$t": "2010-04-02T03:47:04.349Z"
},
"category": [{
"scheme": "http://schemas.google.com/g/2005#kind",
"term": "http://schemas.google.com/contact/2008#contact"
}],
"title": {
"$t": ""
},
"link": [{
"rel": "http://schemas.google.com/contacts/2008/rel#photo",
"type": "image/*",
"href": "LinkUrl"
}, {
"rel": "self",
"type": "application/atom+xml",
"href": "SelfUrl3"
}, {
"rel": "edit",
"type": "application/atom+xml",
"href": "EditUrl3"
}],
"gd$email": [{
"rel": "http://schemas.google.com/g/2005#other",
"address": "[email protected]",
"primary": "true"
}]
}]
}
}
目前,我有響應和創建自己的方法來訪問每個申請。有沒有一個已經定義的庫,將它轉換成更可讀的對象?
例如,「gd $ name」我猜測是名稱的Google數據表示形式。有沒有辦法將它轉換爲一個gData聯繫對象,它給我的名稱字段,而不必編寫我自己的gData分析器?
感謝 德里克