1
저는 Android 개발을 처음 사용했습니다. 나는 Google 계정을 사용하여 로그인 한 사용자의 성별과 생년월일이 필요한 상황에 처해 있습니다. 나는 성공적 위에 표시된 코드를 실행하려면Oauth를 사용하여 프로젝트의 서버 클라이언트 비밀 번호를 찾을 수 없습니다.
class GetGendersTask extends AsyncTask<GoogleSignInAccount, Void, List<Gender>> {
@Override
protected List<Gender> doInBackground(GoogleSignInAccount... googleSignInAccounts) {
List<Gender> genderList = new ArrayList<>();
try {
HttpTransport httpTransport = new NetHttpTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
//Redirect URL for web based applications.
// Can be empty too.
String redirectUrl = "urn:ietf:wg:oauth:2.0:oob";
// Exchange auth code for access token
GoogleTokenResponse tokenResponse = new GoogleAuthorizationCodeTokenRequest(
httpTransport,
jsonFactory,
getApplicationContext().getString(R.string.server_client_id),
getApplicationContext().getString(R.string.server_client_secret),
googleSignInAccounts[0].getServerAuthCode(),
redirectUrl
).execute();
GoogleCredential credential = new GoogleCredential.Builder()
.setClientSecrets(
getApplicationContext().getString(R.string.server_client_id),
getApplicationContext().getString(R.string.server_client_secret)
)
.setTransport(httpTransport)
.setJsonFactory(jsonFactory)
.build();
credential.setFromTokenResponse(tokenResponse);
People peopleService = new People.Builder(httpTransport, jsonFactory, credential)
.setApplicationName("My Application Name")
.build();
// Get the user's profile
Person profile = peopleService.people().get("people/me").execute();
genderList.addAll(profile.getGenders());
} catch (IOException e) {
e.printStackTrace();
}
return genderList;
}
@Override
protected void onPostExecute(List<Gender> genders) {
super.onPostExecute(genders);
// iterate through the list of Genders to
// get the gender value (male, female, other)
for (Gender gender : genders) {
String genderValue = gender.getValue();
}
}
}
아래에 표시되는 코드를 사용하고이를 위해
, 나는 server_client_id 및 server_client_secret이 필요합니다. 내 응용 프로그램의 개발자 콘솔에 들어가서 server_client_id를 발견했지만 불행히도 server_client_secret 키를 찾을 수 없습니다. 나는 많은 서핑을했고 대답을 찾지 못했습니다. 많은 사람들이 이미이 쿼리를 처리 한 것을 알고있었습니다. 그러나 유감스럽게도 나는 대답을 찾을 수 없다.아무도 내가이 문제를 해결할 수 있도록 도와 줄 수 있습니까?
미리 감사드립니다. :)
그래서이 서버 클라이언트 비밀 키를 사용하지 않고 남녀 및 성 (DOB) 같은 개인 정보를 얻는 다른 방법이 있습니까? –
https://developers.google.com/+/web/api/rest/latest/people/get 및 이미 해당 질문에 대한 많은 질문을 참조하십시오. 예 : http://stackoverflow.com/questions/7349747/unable-to-get-user-profile-from-google-using-google-apis-in-android – pinoyyid
고맙습니다. :) –