Как использовать VueJS axios-oauth-client и Google Photos API? - PullRequest
1 голос
/ 09 марта 2019

Я использую 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.

Почтальон enter image description here

Мой код

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.

...