【问题标题】:google directory api java - Invalid Passwordgoogle directory api java - 密码无效
【发布时间】:2015-02-13 15:12:16
【问题描述】:

我正在尝试使用以下代码通过 Google Directory API 创建一个新用户帐户。我得到的结果是密码无效。什么密码?我下载的 P12 文件有问题?

Collection<String> SCOPE = Arrays.asList("https://www.googleapis.com/auth/admin.directory.user");
String serviceAcctEmailAddress = "xxx@developer.gserviceaccount.com";
String serviceAcctUser = "admin@x.com";

    final HttpTransport TRANSPORT = new NetHttpTransport();
    final JsonFactory JSON_FACTORY = new JacksonFactory();

    GoogleCredential credential = new GoogleCredential.Builder()
        .setTransport(TRANSPORT)
        .setJsonFactory(JSON_FACTORY)
        .setServiceAccountId(serviceAcctEmailAddress)
        .setServiceAccountUser(serviceAcctUser)         
        .setServiceAccountScopes(SCOPE)
        .setServiceAccountPrivateKeyFromP12File(new File("1fc6.p12"))
        .build();

    Directory directory = new Directory.Builder(TRANSPORT, JSON_FACTORY, credential)
        .setApplicationName("API-Project")
        .build();

    // create user object
    User u = new User();
    UserName un = new UserName();  
    un.setGivenName(".");
    un.setFamilyName("x@x.com");
    u.setName(un);
    u.setPassword("Axxx1234");
    u.setHashFunction("SHA-1");
    u.setPrimaryEmail("x@x.com");
    u.setSuspended(false);
    u.setAgreedToTerms(true);

    Directory.Users.Insert addUser = directory.users().insert(u);
    addUser.execute();

得到以下错误:

Exception in thread "main" com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request
{
  "code" : 400,
  "errors" : [ {
    "domain" : "global",
    "message" : "Invalid Password",
    "reason" : "invalid"
  } ],
  "message" : "Invalid Password"
}
at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:145)

感谢您对入门的任何帮助!

【问题讨论】:

  • 您是否为字段 setServiceAccountPrivateKeyFromP12File(new File("1fc6.p12")) 提供了正确的公钥和私钥路径?另外,您是否将密码作为 base 16 编码哈希值发送??

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


【解决方案1】:

确认您为满足your domain's password policy的用户设置的密码。

【讨论】:

    【解决方案2】:

    看来我将哈希函数设置为 SHA-1 格式,但我没有以该格式发送密码。一旦我删除了哈希函数,它就开始正常工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-01
      相关资源
      最近更新 更多