Как я могу использовать серверную часть API для предоставления данных из моей учетной записи зарегистрированному пользователю Google? - PullRequest
0 голосов
/ 28 декабря 2018

Я использую angular, google app engine и JAVA на внутреннем сервере.Пользователь может без проблем пройти аутентификацию с помощью URL-адреса подключения opendId, где код передается обратно на мой сервер для аутентификации.

Теперь я не хочу отправлять почту пользователю (обновить пароль, подтвердить почту аккаунта) ия (сообщение об ошибке сервера) с моей учетной записью myaccount@gmail.com.

Также у меня есть листы, которые мне нужны, чтобы пользователь мог писать и читать данные в / из.Волшебным образом я сделал так, чтобы оно работало как установленное автономное приложение (только 1 API за раз, я никогда не заставлял их работать вместе).

Я пробовал служебную учетную запись, но из последнего поста кто-то объяснил мне, чтоДля того, чтобы заставить работать Gmail, мне нужна была учетная запись Ag Suite, которой у меня нет, и предложить пройти аутентификацию oAuth2.Теперь вопрос заключается в том, как я могу реализовать это в Java с помощью одной аутентификации, я объясняю, что я не хочу авторизовать приложение для доступа к определенным областям, но оно должно быть авторизовано только один раз, потому что я не хочу, чтобы пользователь имелвсплывающее окно согласия и даже если бы они имели, они не могли бы аутентифицироваться, как это от имени моей личной учетной записи.Я не думаю, что смогу использовать установленное приложение для приложения Google App Engine, но, возможно, я ошибаюсь.

, просто чтобы сообщить вам, что я перепробовал много разных способов и провел около 3/4 дней, пытаясьнайти решение, не понимая / не находя, что делать.

Любая помощь будет принята с благодарностью. Пожалуйста, дайте мне знать, если вам нужно больше объяснений или кода.

1 Ответ

0 голосов
/ 28 декабря 2018

Я думаю, что вам не хватает нескольких ключевых понятий здесь.

ДАННЫЕ

Существует два типа данных: частные пользовательские данные и публичные данные.Личные данные пользователя принадлежат пользователю, и вам необходимо иметь разрешение или возможность доступа к ним.Публичные данные - это данные, которыми владеет кто-либо.

Oauth2

Oauth2 - это протокол, который мы используем для запроса подключения пользователя к нашим приложениям для доступа к их данным.Пользователь может предоставить вам доступ к его учетной записи gmail и их учетной записи google drive, предоставляя вам доступ к листам в их учетной записи.

Сервисных учетных записей

Сервисные учетные записи являются предварительно утвержденными фиктивными пользователями.Как разработчики, мы можем создавать учетные записи служб и предоставлять им доступ непосредственно к нашей учетной записи диска, после чего учетная запись службы сможет получать доступ к данным, не требуя согласия, поскольку у них уже есть предварительно утвержденный доступ.(не все учетные записи службы поддержки Google Apis. gmail (за исключением gsuite) и YouTube - это два, которые этого не делают)

Что вы пытаетесь сделать

Однако яНе понимаю, почему вы хотите использовать учетную запись пользователя Gmail, чтобы отправить им письмо.Если вы хотите отправить им электронное письмо, я подумаю, что вы используете свою собственную систему электронной почты.

Если вы пытаетесь сделать это, используя свою учетную запись gmail, чтобы отправлять пользователям электронных писем ваших приложений от ВАС.Тогда вам следует рассмотреть возможность прямого подключения сервера SMTP к своей учетной записи.Наличие приложения, использующего API Gmail, является одной из областей, которые будут помечены Google, когда вы попытаетесь одобрить ваше приложение.Вы собираетесь использовать много бюрократизма, чтобы показать, зачем вам нужен доступ к учетной записи Gmail пользователя.

...