仅询问日历权限GoogleCalendar API

时间:2017-07-27 17:01:48

标签: android google-calendar-api

I want to achieve select only Calendar permission

我有一个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);
    }

1 个答案:

答案 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范围。