您好我已经通过Javascript方法(Javascript)完成了Google Contacts V3 API的实施。像下面的snipet:
//The google login url
https://www.googleapis.com/plus/v1/people/me
access_token='dsfjkasdkfjgasdf';
$.get("https://www.google.com/m8/feeds/contacts/default/full?access_token="+access_token+"&alt=json",{},function(xmldata) {
//console.log( xmldata.feed.entry );
var contacts =[];
$.each(xmldata.feed.entry,function(i,tag) {
var contact_id=tag.id.$t;
var name = tag.title.$t;
var contact_emails = tag.gd$email; $.each(contact_emails,function(key,val){ social_email=val.address; });
contacts.push({id:contact_id,name:name,email:social_email});
console.log("id="+id+" name="+name+" email="+social_email+"\n");
// store social contacts to db
});
},"json").fail(fail);
并成功回复:
{
"id": {
"$t": "http://www.google.com/m8/feeds/contacts/{email}/base/{contact_id}"
},
"updated": {
"$t": "2013-01-10T05:16:03.705Z"
},
"category": [
{
"scheme": "http://schemas.google.com/g/2005#kind",
"term": "http://schemas.google.com/contact/2008#contact"
}
],
"title": {
"type": "text",
"$t": ""
},
"link": [
{
"rel": "http://schemas.google.com/contacts/2008/rel#edit-photo",
"type": "image/*",
"href": "https://www.google.com/m8/feeds/photos/media/{email}/{contact_id}/9sadsdkj90"
},
{
"rel": "self",
"type": "application/atom+xml",
"href": "https://www.google.com/m8/feeds/contacts/{email}/full/{contact_id}"
},
{
"rel": "edit",
"type": "application/atom+xml",
"href": "https://www.google.com/m8/feeds/contacts/{email}/full/{contact_id}/1357794963705ffdd1"
}
],
"gd$email": [
{
"rel": "http://schemas.google.com/g/2005#other",
"address": "ee@eefgj.com",
"primary": "true"
}
]
}
响应正在返回用户联系信息,但我还需要Google加ID(即个人资料ID)。
请建议我如何从联系人详细信息(姓名,电子邮件等)获取gid(Google+ ID)?请帮助获取所有联系人的个人资料ID ...
答案 0 :(得分:2)
对于经过身份验证的用户,该用户的Google+ ID与OAuth 2.0 ID相同,可以通过传入您的访问令牌从API call to the oauth2.tokeninfo endpoint检索。
来自tokeninfo的响应将包含以下内容:
{
"issued_to": "yourclientid.apps.googleusercontent.com",
"audience": "yourclientid.apps.googleusercontent.com",
"user_id": "{auth user's id}",
"scope": ""
"expires_in": 3584,
"access_type": "online"
}
现在,您可能还要尝试检索与特定用户相关联的人员的Google+ ID。这不是通过联系人API实现的,但可以通过列出用户在其Google+圈子中对您的应用程序显示的人员来实现。
API有plus.people.list。