我需要Google Plus个人资料ID以及谷歌联系人v3 API

时间:2014-02-11 08:48:53

标签: javascript google-plus google-contacts google-login

您好我已经通过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 ...

1 个答案:

答案 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