我有一个Android应用程序,我在其中与Google日历API同步,以使用移动应用程序创建,读取和删除事件。当您第一次进入谷歌帐户时,它会同步而没有问题,但所有这些权限都被激活(见图片)。我希望只有活动日历的选项,其余的禁用。我怎么能这样做?
这是请求权限的代码:
@AfterPermissionGranted(REQUEST_PERMISSION_GET_ACCOUNTS)
private void selectGoogleAccount(){
if (EasyPermissions.hasPermissions(this, android.Manifest.permission.GET_ACCOUNTS)) {
Intent intent = AccountManager.newChooseAccountIntent(null, null, new String[] { GoogleAccountManager.ACCOUNT_TYPE}, true, null, null, null, null);
startActivityForResult(intent, REQUEST_ACCOUNT_PICKER);
}else {
EasyPermissions.requestPermissions(this, getString(R.string.titleGetUserPermission), REQUEST_PERMISSION_GET_ACCOUNTS, android.Manifest.permission.GET_ACCOUNTS);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
}
答案 0 :(得分:1)
AFAIK,enable and disable services最简单的方法是使用Google API Console网络用户界面。虽然,基于此SO post,某些API之间存在依赖关系,但如果激活它们,则无法停用其他API。
但是,您可能还想检查Manually managed connections。这将指导您如何使用enableAutoManage
方法启动自动解决的错误的自动管理连接。几乎在所有情况下,这是从Android应用连接到Google API的最佳和最简单的方式。
最后,OAuth 2.0 Scopes for Google APIs也可能派上用场。本文档列出了您访问Google API时可能需要的OAuth 2.0范围。