gpt4 book ai didi

javascript - 从javascript中的google登录获取所有用户的联系人列表(包括电话号码)

转载 作者:行者123 更新时间:2023-11-28 08:44:33 25 4
gpt4 key购买 nike

我正在尝试通过 Google 登录获取所有用户联系人的联系电话号码。我获取的是联系人姓名、电子邮件和其他详细信息,但不是联系电话号码。我正在专门尝试联系人 API v3。

this official link

提供了一种获取联系方式(包括电话号码)的方法,但我不太确定如何在 JavaScript 中做到这一点。我用谷歌搜索了一下,发现人们正在使用联系人 API v2 和 v1 来获取此信息。但即使在那里我也找不到任何合适的例子。我当前使用 google api (gapi) 的实现为我提供了这种格式的联系人

displayName: "Jamie Lannister" etag: ""XXXXXXXX-YYYYYYYYYYYYYYYYYY/Wl9XXXXXXXXXXXXXZ9-cJsx-wUY"" id: "107108760XXXXXXXXXXXX" image: Object url: "https://lh4.googleusercontent.com/-9Iyxxxxxxx/xxxxxxxxxxxxxxx/xxxxxxxxxxk/xxxxxx-xxx/photo.jpg?sz=50" proto: Object kind: "plus#person" objectType: "person" url: "https://plus.google.com/107108760XXXXXXXXXXXX

我从这个link得到这个还有这个link .

我的问题是真的可以通过电话号码获取用户的 google+ 或 google 联系人信息吗?如果是,请在这里回答。还有其他方法可以做到这一点吗?

哦顺便说一句,这个问题还没有资格获得赏金。正确答案将在接下来的 2 天内获得 +50 奖励。

最佳答案

我使用以下javascript函数(httpGet)来获取谷歌联系人的姓名和号码。我在“theUrl”参数中传递的网址是:“https://www.google.com/m8/feeds/contacts/user.email@gmail.com/full?access_token=”+authToken+'&max-results=9999'”

function httpGet(theUrl)
{
$.ajax({
type: "GET",
url: theUrl,
dataType: "jsonp",
success: function (xml) {
$(xml).find('entry').each(function(){
var name = '';
var number = '';
$(this).find("gd\\:phoneNumber").each(function(){
number = $(this).text();
});
$(this).find("title").each(function(){
name = $(this).text();
});

if(number!=null && number.length>0)
{
number = number.replace(/[^0-9]/g,'');
userContacts.push(name+'-'+number);
}
});


},
});
}

说明:默认情况下,谷歌返回特定数量的联系人,为了让所有联系人在 max-results 参数中传递一个非常大的数字(因此是 9999)。authToken是你给用户授权后得到的。电子邮件地址:获得 authtoken 后,您还会查询电子邮件地址。我是这样做的:

function getEmail(){
gapi.client.load('oauth2', 'v2', function() {
var request = gapi.client.oauth2.userinfo.get();
request.execute(getEmailCallback);
});
}

function getEmailCallback(obj){
email = '';
if (obj['email']) {
email = obj['email'];
//here you get the email address of the user who just signed in
}
}

这里的gapi是google的api javascript对象。添加此脚本即可开始

script type="text/javascript" src="http://www.google.com/jsapi"/ (add jQuery script too)

如果没有 httpGet() 中的 ajax 调用,您将收到跨域合规性错误。在上述 url 的 httpGet 之后您收到的是一个 xml 文件,httpGet() 方法中的全部成功都是为了解析该 xml,您还将收到一堆其他信息,如果需要的话也可以解析这些信息(我只需要联系号码和姓名)。如果您想要一个包含联系人的 Google 帐户,只需登录 google contacts 并在其中添加一些测试电话号码即可。

不用说,您还需要客户端 ID、 secret 、API key 等。请访问下面提供的链接了解详细信息。 httpGet() 中的用户联系人变量包含所有用连字符分隔的用户联系人。 httpGet() 中的正则表达式模式是仅从联系号码中选择号码,否则您可能会得到类似 (123) 456 7890 的内容。

更多详情straight from google

关于javascript - 从javascript中的google登录获取所有用户的联系人列表(包括电话号码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20029492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com