Я использую vue cli и пытаюсь получить список альбомов из своего аккаунта Google Фото.
Я использую axios-oauth-client и пытаюсь реализовать этот код:
const axios = require('axios');
const oauth = require('axios-oauth-client');
const getAuthorizationCode = oauth.client(axios.create(), {
url: 'https://oauth.com/2.0/token',
grant_type: 'authorization_code',
client_id: 'foo',
client_secret: 'bar',
redirect_uri: '...',
code: '...',
scope: 'baz',
});
const auth = await getAuthorizationCode(); // => { "access_token": "...", "expires_in": 900, ... }
Как описано в здесь , и я не могу понять, как получить код авторизации или код в этой реализации.
Мне удалось сделать этот вызов в почтальоне, но я 'Я не могу сделать это с помощью axios.
Почтальон
Мой код
async function getToken() {
const getAuthorizationCode = oauth.client(axios.create(), {
url: "https://oauth2.googleapis.com/token",
grant_type: "authorization_code",
client_id:
"**********.apps.googleusercontent.com",
client_secret: "***********",
redirect_uri: "http://localhost:8080/oauth2/callback",
code: "...",
scope: "https://www.googleapis.com/auth/photoslibrary.readonly"
});
const auth = await getAuthorizationCode(); // => { "access_token": "...", "expires_in": 900, ... }
console.log(auth);
}
getToken();
Что я делаю не так?
Спасибо!
ОБНОВЛЕНИЕ
Мне все еще не удалось заставить его работать, но я нашел этот ответ, который я постараюсь проверить.
ОБНОВЛЕНИЕ # 2
В конце концов я в конечном итоге использовал Google документация для Oauth2используя php, и я взял их пример с git в качестве базового проекта.Для этого мне также понадобилось использовать базу данных для сохранения токенов и особенно токен обновления, который я использую для обновления токена доступа каждый раз, когда я получаю 401.