Java GoogleJsonResponseException:获取企业用户列表期间未找到404

Java GoogleJsonResponseException:获取企业用户列表期间未找到404,java,google-api,google-api-java-client,Java,Google Api,Google Api Java Client,我正在使用Google Play EMM API(lib Google-API-services-androidenterprise-v1-rev8-1.20.0.jar)编写一个简单的应用程序,该应用程序应该生成激活码,以便在设备上自动安装设备策略控制器(Android for Work) HttpTransport sHttpTransport = GoogleNetHttpTransport.newTrustedTransport(); JsonFactory sJsonFactory =

我正在使用Google Play EMM API(lib Google-API-services-androidenterprise-v1-rev8-1.20.0.jar)编写一个简单的应用程序,该应用程序应该生成激活码,以便在设备上自动安装设备策略控制器(Android for Work)

HttpTransport sHttpTransport = GoogleNetHttpTransport.newTrustedTransport();
JsonFactory sJsonFactory = JacksonFactory.getDefaultInstance();

GoogleCredential credentials = new GoogleCredential.Builder().setTransport(sHttpTransport).setJsonFactory(sJsonFactory)
        .setServiceAccountId(MASTER_SERVICE_ACCOUNT_EMAIL)
        .setServiceAccountScopes(AndroidEnterpriseScopes.all())
        .setServiceAccountPrivateKeyFromP12File(new File(PRIVATE_KEY_P12_FILE_NAME))
        .build();

AndroidEnterprise sAndroidEnterprise = new AndroidEnterprise(sHttpTransport, sJsonFactory, credentials);

String userId = sAndroidEnterprise.users().list(enterpriseId, userEmail).execute()
            .getUser()
            .get(0)
            .getId();

String activationCode = sAndroidEnterprise.users().generateToken(enterpriseId, userId).execute().getToken();
问题是我在中的execute()方法中得到了异常

最有趣的是,如果我将不存在的电子邮件作为参数userEmail,那么方法execute()中没有异常,当然方法getUser()返回null

如何修复此代码以成功获取用户ID? 对我来说,这似乎是库或服务器的问题,但我希望我只是做错了什么


请注意:我已经成功注册了一个客户,并根据

进行了准备。您似乎正在使用MSA帐户通过身份验证调用users()方法。尝试使用ESA帐户进行身份验证,即您在请求中提到的企业id。(您需要为客户创建服务帐户才能进行身份验证)。问题会得到解决

String userId = sAndroidEnterprise.users().list(enterpriseId, userEmail).execute()

com.google.api.client.googleapis.json.GoogleJsonResponseException: 404 Not Found
{
  "code" : 404,
  "errors" : [ {
    "domain" : "global",
    "location" : "enterpriseId",
    "locationType" : "parameter",
    "message" : "No enterprise was found for the given id.",
    "reason" : "notFound"
  } ],
  "message" : "No enterprise was found for the given id."
}
    at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:145)
    at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)
    at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:321)
    at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1056)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469)