如何使用Nodejs API或curl请求添加Google Contact

时间:2017-10-24 13:00:09

标签: node.js api curl google-contacts

我想添加新的联系人详细信息(如果我的Google通讯录中不存在

3 个答案:

答案 0 :(得分:0)

我不认为Google Contacts API支持Nodejs。使用谷歌联系人this guide

  

本文档适用于想要编写客户端的程序员   可以与Google的联系人列表互动的应用程序。它   提供了一系列基本API交互的示例。这些   示例有多种形式,包括raw XML/HTTP requests,   Java.NETPython源代码。

此外,您可以使用这些协议运行示例代码。

  

如果您正在使用UNIX系统,并且想要尝试此处的示例   没有编写任何代码的文档,您可以找到UNIX命令行   实用工具curlwget有用;更多   信息,请参阅这些实用程序的手册页。

答案 1 :(得分:0)

使用https://www.npmjs.com/package/google-contacts-crud npm阅读和添加Google联系人。

答案 2 :(得分:0)

Google的NodeJS官方API不使用Contacts API,仅使用People API。

如果您已经将official googleapis library用于Contacts API,则可以通过创建身份验证客户端后向Contacts API发送请求来将其用于其他目的。

鉴于您已经具有用户的访问令牌(例如,如果您是使用Passport生成的,则代码如下:

const {google} = require("googleapis");
const authObj = new google.auth.OAuth2({
    access_type: 'offline',
    clientId: process.env.GOOGLE_ID,
    clientSecret: process.env.GOOGLE_SECRET,
});

在访问令牌过期之前自动刷新访问令牌

authObj.on('tokens', (tokens) => {
    const access_token = tokens.access_token
    if (tokens.refresh_token){
        this.myTokens.refreshToken = tokens.refresh_token
        // save refresh token in the database if it exists
    }
        this.myTokens.accessToken = tokens.access_token       
        // save new access token (tokens.access_token)
}
authObj.setCredentials({
    access_token:this.myTokens.accessToken,
    refresh_token:this.myTokens.refreshToken,
});

向Contacts API发出请求:

authObj.request({
    headers:{
        "GData-Version":3.0
    },
    params:{
        "alt":"json",
        //"q":"OPTIONAL SEARCH QUERY",
        //"startindex":0
        "orderby":"lastmodified",
        "sortorder":"descending",
    },
    url: "https://www.google.com/m8/feeds/contacts/default/full"
}).then( response => {
    console.log(response); // extracted contacts
});