【发布时间】:2017-09-18 07:39:52
【问题描述】:
我是安卓开发新手。我的情况是,我需要使用 Google 帐户登录的用户的性别和出生日期。
为此,我使用如下所示的代码
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 密钥。 我上网了很多,但最终没有找到答案。我知道很多人已经解决了这个问题。但是很抱歉告诉你我无法找到答案。
谁能帮我解决这个问题。
提前致谢。 :)
【问题讨论】:
标签: java android oauth google-oauth