如何获取已登录用户的所有联系人,我添加了访问Google联系人的请求权限
requestPermissions: {
facebook: ['email', 'user_friends','read_friendlists'],
google:['https://www.google.com/m8/feeds']
},
我不知道如何访问联系人,我试图谷歌,但我对结果感到困惑。
有谁知道怎么做?
有人能指出我的答案吗?
我非常感谢任何帮助
答案 0 :(得分:6)
我刚使用google-contacts
氛围包并在服务器端编写以下函数,它对我有用
var opts= { email: Meteor.user().services.google.email,
consumerKey: "APIKEY",
consumerSecret: "APPSECRET",
token: Meteor.user().services.google.accessToken,
refreshToken: Meteor.user().services.google.refreshToken};
gcontacts = new GoogleContacts(opts);
gcontacts.refreshAccessToken(opts.refreshToken, function (err, accessToken)
{
if(err)
{
console.log ('gcontact.refreshToken, ', err);
return false;
}
else
{
console.log ('gcontact.access token success!');
gcontacts.token = accessToken;
gcontacts.getContacts(function(err, contact)
{
\\here i am able to access all contacts
console.log(contact);
})
}
});
要做到这一点,你需要谷歌的refreshToken
,默认情况下,流星不会为你提供。
在客户端添加以下代码以获取refreshtoken
(requestOfflineToken)
Accounts.ui.config({
requestPermissions: {
facebook: ['email', 'user_friends','read_friendlists'],
google:['https://www.google.com/m8/feeds']
},
requestOfflineToken: {
google: true
},
passwordSignupFields: 'USERNAME_AND_EMAIL'
});
注意:要使用联系人API,您需要在Google控制台中启用联系人API。
希望它可以帮助那些人。