【问题标题】:Firebase auth vs. GoogleAccountCredetialFirebase 身份验证与 GoogleAccountCredetial
【发布时间】:2017-10-08 06:25:27
【问题描述】:
【问题讨论】:
标签:
android
firebase
firebase-realtime-database
firebase-authentication
google-authentication
【解决方案1】:
这是一篇旧帖子,但我有一些应用程序可以做到这一点;专门登录到firebase,然后设置一个凭证以使用api创建和写入谷歌表。此代码假定您在 android 项目和开发人员控制台中正确设置了 oauth。您也可以在那里为工作表启用 api。
完成后,从 firebase 控制台获取 google-services.json 并将其放入您的 android 项目中。
private static final String[] SCOPES =
{SheetsScopes.SPREADSHEETS, SheetsScopes.DRIVE_FILE};
// used for spreadsheet access only
mCredential = GoogleAccountCredential.usingOAuth2(
getApplicationContext(),Arrays.asList(SCOPES));
// set exponential backoff policy
mCredential.setBackOff(new ExponentialBackOff());
setCredentailAccount();
private void setCredentailAccount() {
if (mFirebaseUser != null) {
mCredential.setSelectedAccount(
new
Account(mFirebaseUser.getEmail(),getPackageName()));
Log.i(TAG, "getAcctPermission - account set");
} else {
Log.i(TAG, "getAcctPermission - account not set");
}
}
我还实现了一个单独的登录活动,它封装了应用程序的登录。 firebase 登录有很多代码示例。谷歌凭证是传递给任务以执行电子表格的东西。此外,Api 控制台上的 oauth 屏幕具有需要添加的工作表的凭据。