API календаря Google grantOfflineAccess () без всплывающего окна - PullRequest
1 голос
/ 14 февраля 2020

Мы работаем над приложением, для которого требуется доступ к пользовательскому календарю Google. Мы использовали метод grantOfflineAccess(), описанный в документации Google API - https://developers.google.com/identity/sign-in/web/reference#googleusergrantofflineaccessoptions

Однако проблема, с которой мы сталкиваемся, заключается в том, что это открывает всплывающее окно, и мы должны сделать это через редирект. У кого-нибудь есть идеи сделать это без всплывающего окна?

Safari и Firefox блокируют всплывающие окна, и это не очень хорошо работает в сафари на мобильных устройствах. Мне удалось найти проблему GitHub для этого https://github.com/google/google-api-javascript-client/issues/288, но я видел, как другие сайты делают это без всплывающего окна. Вы можете проверить zendesk & frontapp.com - оба получают оффлайн-грант для пользователей, которые входят в систему.

Любые идеи или помощь будут оценены.

1 Ответ

0 голосов
/ 14 февраля 2020

Единственный способ получить доступ к данным пользователей - это предоставить пользователю разрешение на доступ к этим данным. Это делается, хотя Oauth2 пользователю предлагается войти в свою учетную запись Google, после чего ему предоставляется экран с объемами разрешений, которые вы запрашиваете.

Обойти это невозможно. Вам всегда нужно будет один раз попросить пользователя в аренду предоставить вам разрешение на доступ к его данным, если вы запрашиваете автономный доступ, вам будет предоставлен токен refre sh, который вы можете использовать для запроса нового токена доступа и доступа к данным пользователей. когда они не в сети.

Что касается всплывающих окон, они не должны отображаться как всплывающие окна, которые они должны открывать в новом окне браузера.

...