我一直在查看Google NodeJS API文档,但我没有看到为Contacts API列出的文档。我错过了什么或模块中没有包含这些内容吗?
答案 0 :(得分:1)
根据Google NodeJS API for Google Contacts API,以下链接可能会帮助您:
https://github.com/jimib/nodejs-google-contacts
答案 1 :(得分:0)
Google的NodeJS官方API不使用Contacts API。他们改用People API。如果需要访问“其他联系人”,则需要联系人API。
如果您已经将official googleapis library用于Contacts API,则可以通过创建身份验证客户端后向Contacts API发送请求,来使用该API。如果您不使用googleapis库,那可能是一个矫kill过正,最好使用其他答案建议的其他库。
鉴于您已经具有用户的访问令牌(例如,如果您是使用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
});