2014-07-25 3 views
3

그래서 사용자가 내 앱에서 자신의 Google+ 계정에 로그인하도록합니다. 지금은 프로필 URL과 표시 이름을 얻을 수 있습니다. 지금하고 싶은 일은 이메일을받는 것입니다. 이 정보를 얻는 방법에 대해 잘 모르겠습니다. 나는 안쪽에 https://www.googleapis.com/auth/plus.profile.emails.read이라는 범위를 추가했으며 로그인 할 때 내 이메일에 액세스 할 수있는 권한을 요청합니다. 사용자 이메일을 검색하는 방법은 확실하지 않습니다.Android 앱의 Google Plus 계정에서 이메일 검색

사용자 이름, 나는 이렇게 :

String currentPersonName = mPlusClient.getCurrentPerson().getDisplayName();

을 그래서 기본적으로 내가하고 싶은 것을이 같은 것입니다 :

String currentPersonEmail = mPlusClient.getCurrentPerson().getEmail();

하지만 분명히 이것은 올바른 방법이 아니다 . 누구든지 이메일을받는 방법을 알고 있습니까? 감사.

답변

6

는 사용자의 이메일 주소를 얻으려면 :

private GoogleApiClient mGoogleApiClient; 

mGoogleApiClient = new GoogleApiClient.Builder(this) 
      .addConnectionCallbacks(this) 
      .addOnConnectionFailedListener(this) 
      .addApi(Plus.API, null) 
      .addScope(Plus.SCOPE_PLUS_LOGIN) 
      .build(); 

emailAddr = Plus.AccountApi.getAccountName(mGoogleApiClient); 


다른 방법 대신 displayName 속성 (당신이했던 것처럼) 구글 +의 plus.profile.emails.read 범위 쿼리하는 것입니다, "전자 메일"유형 jsons를 찾으십시오 (code example here 참조).

+0

감사합니다. 사용자로부터 mGoogleApiClient를 얻으려면 어떻게해야합니까? – Harry

+0

내가 받고있어. AddAccClient.Builder 형식의 addConnectionCallbacks (GoogleApiClient.ConnectionCallbacks) 메소드가 인수 (MainActivity)에 적용되지 않는다. – Harry

+0

고마워! 인터넷 검색 시간 후 ... – Guy

관련 문제