【问题标题】:Resource not Found userKey Google Directory API using Service Account使用服务帐户的 userKey Google Directory API 未找到资源
【发布时间】:2014-10-22 21:46:28
【问题描述】:

这是我使用服务帐户构建的凭据,

GoogleCredential credential = new GoogleCredential.Builder()
             .setJsonFactory(jsonFactory).setTransport(httpTransport)

     .setServiceAccountId("xxxxxxx@developer.gserviceaccount.com")
     .setServiceAccountPrivateKeyFromP12File(new File("key.p12"))

     .setServiceAccountScopes(Collections.singleton(DirectoryScopes.ADMIN_DIRECTORY_USER))

     .build();

我正在尝试获取一个用户,其中用户是 com.google.api.services.admin.directory.model.User

User u = null;
try {
    u = service.users().get("test@gmail.com").execute();
} catch (Exception e) {

    e.printStackTrace();
}

    return u.toPrettyString();
}

响应返回代码 404 Resource not found??是否需要创建用户?如何访问任何gmail用户?

【问题讨论】:

    标签: google-admin-sdk google-directory-api


    【解决方案1】:

    假设您已经授予服务帐户domain-wide delegation,您需要让它使用.setServiceAccountUser("admin@domain.com") 模拟管理员帐户,如service account documentation 所示。服务帐户本身不是域管理员,因此他们需要模拟一个才能使用 Admin SDK API。

    【讨论】:

    • 我已添加服务帐号用户 xxx@abc.wix.com
    • 是的,我在这里创建了 Google Apps 管理员帐户,前提是该管理员电子邮件作为服务帐户用户,并且还按照 googletutorial 在 Apps Admin 中添加了客户端 ID
    猜你喜欢
    • 2014-07-09
    • 2018-08-22
    • 2015-03-05
    • 2013-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-11
    相关资源
    最近更新 更多