Ошибка при попытке получить электронную почту аутентифицированного пользователя с помощью googleapis и node.js
Я реализую аутентификацию на своем веб-сайте с помощью googleapis. Функция plus.people.get не работает. Я видел, что он устарел на некоторых форумах, но он все еще задокументирован в Google, что меня смутило. Я получаю сообщение об ошибке: "API устаревших людей ранее не использовался в проекте 328985958128 или отключен. Включите его, посетив https://console.developers.google.com/apis/api/legacypeople.googleapis.com, затем повторите попытку. Если вы недавно включили этот API, подождите несколько минут, чтобы действие распространялось на наши системы, и повторите попытку ". Веб-страница даже не загружается. Мой код
if (!req.body.token) return res.status(500).json({ type: 'error', message: 'No access token provided.' })
const OAuth2 = google.auth.OAuth2
const oauth2Client = new google.auth.OAuth2(keys.client_id, keys.client_secret)
google.options({ auth: oauth2Client });
const plus = google.plus('v1')
oauth2Client.setCredentials({
access_token: req.body.token
})
plus.people.get({
userId: 'me',
auth: oauth2Client
}, (error, response) => {
if (error)
console.log(error)
return res.status(500).json({ type: 'error',error })
const emails = (response.data || {}).emails
1 ответ
Ты используешь google.plus('v1')
, который устарел
- Вместо этого вы должны использовать
const service = google.people({version: 'v1', auth: oauth2Client})
для создания служебного объекта.
- Для выполнения запроса больше не требуется дополнительная авторизация, поэтому:
service.people.get({
userId: 'me'
}, (error, response) => {
...
})
Дальнейшая информация: