Потребуйте, чтобы Google возвратил адрес электронной почты как часть OAuth

Использовать фрагменты из библиотеки поддержки -

android.support.v4.app.Fragment

, а затем переопределить

void onAttach (Context context) {
  this.context = context;
}

Таким образом, вы можете быть уверены, что контекст всегда будет ненулевым значением.

28
задан Khash 27 June 2010 в 21:37
поделиться

3 ответа

OAuth не предоставляет возможности для дополнительных параметров во время рукопожатия OAuth, поэтому я не думаю, что вы можете заставить Google предоставить их. Однако, вероятно, существует API Google, к которому можно обратиться с помощью маркера доступа OAuth, чтобы получить адрес электронной почты после квитирования.

9
ответ дан 28 November 2019 в 02:29
поделиться

запросить область OAuth, чтобы включить «Область отображения электронной почты» https://www.googleapis.com/auth/userinfo.email

scope="http://www.google.com/m8/feeds/ https://www.googleapis.com/auth/userinfo.email"

Затем используйте REST API, например Гамак , чтобы получить адрес

            RestClient client = new RestClient
            {
                Authority = "https://www.googleapis.com",
            };

            RestRequest request = new RestRequest
            {
                Path = "userinfo/email?alt=json",
                Credentials = OAuthCredentials.ForProtectedResource(
                     this.requestSettings.ConsumerKey,
                     this.requestSettings.ConsumerSecret,
                     this.requestSettings.Token,
                     this.requestSettings.TokenSecret)
            };

            var response = client.Request(request);
2
ответ дан Paulius Zaliaduonis 28 November 2019 в 02:29
поделиться

В php класс apiOauth2Service.php предоставляет методы для доступа к зарегистрированной информации пользователя. Для этого вы можете использовать метод userinfo-> get (). Убедитесь, что вы также используете область https://www.googleapis.com/auth/userinfo.email .

Это будет работать с тем же токеном доступа. Также вы должны попробовать поискать в других API аналогичную информацию в ответ. Это гораздо проще просмотреть через oAuth_playground >> http://code.google.com/apis/explorer/

1
ответ дан Manish 28 November 2019 в 02:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: