Невозможно обновить access_token - API календаря Google - PullRequest
1 голос
/ 13 июня 2019

Приветствую, коллеги мои разработчики! Я работаю над проектом, в котором клиенту необходимо подключить календарь Google к проекту.Я использую GAPI для соединения календаря Google с моим приложением.Вот что я делаю:

шаг 1:

let config = {
    apiKey: [API_KEY],
    clientId: [CLIENT_ID],
    access_type: 'offline',
    discoveryDocs: ['https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest'],
    scope: 'https://www.googleapis.com/auth/calendar.events'
}
gapi.load('client:auth2', () => {
    gapi.client.init(config).then(() => {
        gapi.auth2.getAuthInstance().isSignedIn.listen(true);
    });
});

шаг 2:

Promise.resolve(gapi.auth2.getAuthInstance().signIn()).then(response => {
    store access_token, id_token, login_hint
}).then(() => {
    run_different_axios_requests_to_google_calendar();
});

или если у меня уже есть токены доступа:

run_different_axios_requests_to_google_calendar();

До этого момента он работал отлично!

Проблема возникает, когда истекает токен доступа, и прочитал документацию, и я обнаружил, что если вы запустите gapi.auth2.getAuthInstance(). grantOfflineAccess() вместо gapi.auth2.getAuthInstance().signIn(), вы получите refresh_tokenс access_token, id_token, login_hint, но я не получаю ответ, фактически мое обещание показывает, что This app isn't verified, и мне нужно обновить токен, когда истекает access_token, чтобы я мог получить новый токен, безнеобходимость попросить пользователя снова войти (через обещание).Я не уверен, что я делаю здесь неправильно!любая помощь приветствуется!

1 Ответ

1 голос
/ 14 июня 2019

Вот полная документация от Google, которая позволяет вам использовать новую библиотеку JS для раскрытия возможностей Служб Google.В нем подробно объясняется пошаговая процедура от аутентификации до использования библиотек GAPI, таких как Calendar API.

...