アプリケーションにGoogle+ログインを追加しました。アカウント名を取得したら、次の方法で基本的なユーザープロファイル情報を取得します。
URL url = new URL("https://www.googleapis.com/oauth2/v1/userinfo");
//get Access Token with Scopes.PLUS_PROFILE
String sAccessToken = GoogleAuthUtil.getToken(mActivity.this,
mPlusClient.getAccountName() + "",
"oauth2:" + Scopes.PLUS_PROFILE
+ " https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email");
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestProperty("Authorization", "Bearer "
+ sAccessToken);
BufferedReader r = new BufferedReader(new InputStreamReader(
urlConnection.getInputStream(), "UTF-8"));
StringBuilder total = new StringBuilder();
String line;
while ((line = r.readLine()) != null) {
total.append(line);
}
line = total.toString();
それは通常私にこれらの詳細を与えます:
"id" "email" "give_name" "family_name" "name" "link" "verified_email" "gender" "locale" "picture"
しかし、テスト中に、とを使用して新しいGoogleアカウントを作成しましfirstName
たLastName
。そして、それは私のGoogle+アカウントに表示されます。
しかし、このアカウント名でユーザー情報の同じAPIを呼び出すと、次のようになります。
{"id": "xxxxxxxxxxxxxxxxxxxxxx"、 "email": "xxxxxx@gmail.com"、 "verified_email":true、 "locale": "en"}
名前とは何の関係もありません。
そのような場合の回避策はありますか?
ありがとうございました