Как добавить контакт Google, используя Nodejs API или запрос curl

Я хочу добавить новые контактные данные, если их нет в моих контактах Google

2 ответа

Используйте https://www.npmjs.com/package/google-contacts-crud npm, чтобы прочитать и добавить контакты Google.

Официальный API Google для NodeJS не использует API контактов, а только API людей.

Вы можете подключиться к API контактов с помощью официальной библиотеки googleapis, если вы уже используете ее для других целей, отправив запрос в 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,
});

Сделайте запрос к 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
});

Я не думаю, что Nodejs поддерживается в API контактов Google. Используйте это руководство по контактам Google.

Этот документ предназначен для программистов, которые хотят писать клиентские приложения, которые могут взаимодействовать со списками контактов Google. Он предоставляет ряд примеров основных взаимодействий API. Эти примеры бывают разных форм, в том числе необработанные XML/HTTP requests, Java, .NET а также Python исходный код.

Кроме того, вы можете запустить примеры кодов, используя эти протоколы.

Если вы используете систему UNIX и хотите попробовать примеры в этом документе без написания какого-либо кода, вы можете найти утилиты командной строки UNIX curl или же wget полезно; Для получения дополнительной информации см. справочные страницы для этих утилит.

Другие вопросы по тегам