rot*_*has 5 java android firebase-authentication google-sheets-api
我有一个通过 Firebase 平台管理用户的 android 应用程序(使用谷歌帐户登录)。成功登录后,我有一个 FirebaseAuth 实例,从中我可以访问 FirebaseUser 实例。
现在我想访问登录用户 Google Sheets 并操作它们(读取、写入、创建一个新的)。我怎样才能做到这一点?
伪代码:
FirebaseAuth mAuth;
.....
// sign-in with google...
.....
if(mAuth.getCurrentUser() != null){
// Here for example I want to read the titles of all this user sheets
}
Run Code Online (Sandbox Code Playgroud)
我读了这个线程,但仍然不明白如何使用我的 FirebaseUser 来访问 SheetsAPI。我不需要实际读取或编写工作表的代码,只需要如何创建com.google.api.services.sheets.v4.Sheets实例。
我将所需的依赖项添加到 build.gradle 并从 Google API 控制台获得了clientID和clientsecret,但我不知道如何使用它们。
编辑:
我也阅读了这个线程,但它对我没有帮助,因为我不使用 GoogleSignIn。这是我的身份验证过程的一个片段:
// create the intent for sign in
// in MainActivity
startActivityForResult(
viewModel.generateAuthenticationIntent(),
RC_SIGN_IN);
// in viewModel:
public Intent generateAuthenticationIntent() {
List<AuthUI.IdpConfig> providers = Arrays.asList(
new AuthUI.IdpConfig.EmailBuilder().build(),
new AuthUI.IdpConfig.GoogleBuilder().build());
return AuthUI.getInstance()
.createSignInIntentBuilder()
.setAvailableProviders(providers)
.setIsSmartLockEnabled(false)
.build();
}
// MainActivity:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RC_SIGN_IN) {
IdpResponse response = IdpResponse.fromResultIntent(data);
if (resultCode == RESULT_OK) {
// Successfully signed in
viewModel.authenticate();
createHome();
} else {
Log.d(
TAG,
String.format(
"%s\n"+
"response.getError().getErrorCode()=%d\n"+
"response.getError().getMessage()=%s"
,
response.getError().getErrorCode(),
response.getError().getMessage()
)
);
}
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激。
归档时间: |
|
查看次数: |
141 次 |
最近记录: |