流星,访问登录用户的谷歌联系人

Meteor,Access Google contacts of loggedin user

本文关键字:谷歌 联系人 用户 登录 访问 流星      更新时间:2023-09-26

如何获取登录用户的所有联系人,我添加了访问google联系人的请求权限

requestPermissions: {
        facebook: ['email', 'user_friends','read_friendlists'],
         google:['https://www.google.com/m8/feeds']
    },

我不知道如何访问联系人,我试着谷歌它,但我对结果感到困惑。

有人知道怎么做吗?

谁能告诉我答案是什么?

非常感谢您的帮助

我只是使用google-contacts atmosphere包并在服务器端编写以下函数,它为我工作

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。