获取所有用户's的联系人列表(包括电话号码)来自javascript中的谷歌登录
get all user's contact list (including phone number) from google login in javascript
我正在尝试通过谷歌登录获取所有用户联系人的联系电话。我正在获取联系人姓名、电子邮件和其他详细信息,但没有获取联系人号码。我特别尝试联系API v3。
这个官方链接
提供了一种获取联系方式(包括电话号码)的方法,但我真的不知道如何在javascript中做到这一点。我在谷歌上搜索了一下,发现人们正在使用联系人API v2和v1来获取这些信息。但即使在那里,我也找不到任何合适的例子。我目前使用谷歌api(gap)的实现为我提供了这种格式的联系人
displayName:"Jamie Lannister"etag:"XXXXXXXX-YYYYYYYYYY/Wl9XXXXXXXXZ9 cJsx wUY"id:"107108760XXXXXXXXXX"图像:对象网址:"https://lh4.googleusercontent.com/-9Iyxxxxxxx/xxxxxxxxxxxxxxx/xxxxxxxxxxk/xxxxxx-xxx/photo.jpg?sz=50"proto:对象kind:"加#人"objectType:"person"网址:"https://plus.google.com/107108760XXXXXXXXXXXX
我从这个链接和这个链接得到了这个。
我的问题是,真的有可能获得用户的google+或带有电话号码的谷歌联系人吗?如果是,请在这里回答。还有别的办法吗?
哦,顺便说一下,这个问题还没有资格获得奖金。正确答案将在接下来的2天内获得+50奖励。
我使用以下javascript函数(httpGet)获取带有姓名和号码的google联系人。我在"theUrl"参数中传递的url为:"https://www.google.com/m8/feeds/contacts/user.email@gmail.com/full?access_token="+authToken+'&最大结果=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
}
}
这里的漏洞是谷歌的api javascript对象。添加这个脚本,你就可以去了
script type="text/javascript" src="http://www.google.com/jsapi"/ (add jQuery script too)
如果没有httpGet()中的ajax调用,您将收到一个跨域一致性错误。在httpGet之后,您收到的是一个xml文件,httpGet()方法的全部成功之处在于解析该xml,您还将收到一堆其他信息,如果需要,也可以解析这些信息(我只需要联系电话和姓名)。如果你想要一个有联系人的谷歌账户,只需登录谷歌联系人并在那里添加一些测试电话号码。
不用说,您还需要客户端Id、机密、API密钥等。有关详细信息,请访问下面提供的链接。httpGet()中的用户联系人var包含所有用连字符分隔的用户联系人。httpGet()中的正则表达式模式是只从联系人号码中选择数字,否则您可能会得到这样的结果(123)456 7890。
更多详细信息直接来自谷歌
- 带有加号的电话号码验证(可选)
- 正则表达式,用于在 JavaScript 中为电话号码添加短划线
- 通过Javascript将HTML中的电话号码与URL参数进行交换
- Javascript/Ajax:通过点击按钮检查有效的电子邮件和电话号码
- 如何将页面上的所有电话号码更改为可点击链接,不包括特定类别的元素
- 验证澳大利亚的电话号码
- 使用javascript验证电话号码无效
- Regex表示8位电话号码(新加坡号码长度)
- HTML文本框,它接受电话号码,并以美国电话号码格式显示
- 试图清理一个电话号码,以便如果它像816-345-6757一样被输入,它会像8163456757一样返回它
- 输入中的国际电话号码格式
- 什么是英国电话号码验证表达式和语法
- 使用 AngularJs 格式化电话号码
- 如何使移动用户可点击动态电话号码
- 如何通过Phonegap使用iOS格式查找联系人的电话号码
- Jquery国际电话号码输入
- Javascript-如何验证两个电话号码是否不同
- javascript/jquery:从字符串中提取电话号码
- 获取所有用户's的联系人列表(包括电话号码)来自javascript中的谷歌登录
- 获取用户'来自Mobile Safari的电话号码