Google Plus API からアクセス トークンを取得しようとしています。
次のコードを実行します。
private class RetrieveTokenTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
String accountName = params[0];
Log.e("accountName", accountName);
String scopes = "oauth2:" + Scopes.PLUS_ME; //
String token = null;
try {
token = GoogleAuthUtil.getToken(getApplicationContext(), accountName, scopes);
} catch (IOException e) {
Log.e("GOOGLE+", e.getMessage());
} catch (UserRecoverableAuthException e) {
startActivityForResult(e.getIntent(), RC_SIGN_IN);
} catch (GoogleAuthException e) {
Log.e("GOOGLE+", e.getMessage());
}
return token;
}
@Override
protected void onPostExecute(String s) {
Log.d("TOKEN", "token: " + s);
}
}
ヘッダー Authorization Bearer を使用してhttps://www.googleapis.com/oauth2/v1/userinfoへの HTTP GET を使用して、postman でアクセス トークンを確認し ます。
結果:
{
id: "111111111111"
name: "my name"
given_name: "my"
family_name: "name"
link: https://plus.google.com/123456789
picture: https:....jpg
gender: "male"
}
ユーザーの電子メールを取得するにはどうすればよいですか? どのスコープを使用する必要がありますか?