使用 GMAIL 自动转发创建时权限不足


String[] googleSCOPES = {GmailScopes.GMAIL_LABELS, GmailScopes.GMAIL_READONLY, GmailScopes.MAIL_GOOGLE_COM};
            GoogleAccountCredential googleAccountCredential = GoogleAccountCredential.usingOAuth2(
                    context, Arrays.asList(googleSCOPES))
                    .setBackOff(new ExponentialBackOff());
            googleAccountCredential.setSelectedAccountName(appSettings.retrieve(Params.GMAIL_ACCOUNT_NAME));
            com.google.api.services.gmail.Gmail mService = new com.google.api.services.gmail.Gmail.Builder(
                    AndroidHttp.newCompatibleTransport(), JacksonFactory.getDefaultInstance(), googleAccountCredential)
                    .setApplicationName("StaffConnect")
                    .build();
            ForwardingAddress address = new ForwardingAddress()
                    .setForwardingEmail(emailAddress);
            ForwardingAddress createAddressResult = null;
            try {
                createAddressResult = mService.users().settings().forwardingAddresses()
                        .create("me", address).execute();
            } catch (IOException e) {
                e.printStackTrace();
            }
            if (createAddressResult.getVerificationStatus().equals("accepted")) {
                    AutoForwarding autoForwarding = new AutoForwarding()
                            .setEnabled(true)
                            .setEmailAddress(address.getForwardingEmail())
                            .setDisposition("trash");
                    try {
                        autoForwarding = mService.users().settings().updateAutoForwarding("me", autoForwarding).execute();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
}

错误:

    com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
{
  "code" : 403,
  "errors" : [ {
    "domain" : "global",
    "message" : "Insufficient Permission",
    "reason" : "insufficientPermissions"
  } ],
  "message" : "Insufficient Permission"
}

"权限不足">

表示当前经过身份验证的用户没有权限执行您请求通过应用程序使用的操作。 权限在身份验证时授予,称为范围。

用户.设置.转发地址:创建请求需要具有以下范围的授权

范围

https://www.googleapis.com/auth/gmail.settings.sharing

您需要重新认证您的用户并请求其他范围。

最新更新