java无法使用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\u client\u id和server\u client\u secret。进入应用程序的开发人员控制台后,我找到了我的服务器\客户端\ id,但不幸的是,我无法找到服务器\客户端\密钥。 我在网上冲浪了很多次,最终没有找到答案。我知道很多人已经提出了这个问题。但很抱歉,我找不到答案
谁能帮我解决这个问题
提前感谢。:)
# 1 楼答案
Android不使用客户端机密。因为它是用户持有的设备,所以它不会是长时间的秘密。如果您的项目需要客户端密码,请转到开发控制台并创建一组附加凭据,指定Web App