gpt4 book ai didi

java - 使用 Java 中的 Google Admin SDK Directory API 为域创建 gmail 帐户

转载 作者:行者123 更新时间:2023-11-30 07:06:50 25 4
gpt4 key购买 nike

如何使用 Google Admin SDK Directory API 在 Java 中为域创建 gmail 帐户?某处有例子吗?关于这个问题,Google 文档很糟糕。

马科斯

最佳答案

这是一个基本示例,展示了如何使用 Admin SDK ( https://developers.google.com/admin-sdk/directory/v1/reference/users/insert) 的目录 API 创建用户。我没有包含 OAuth 2 初始化代码,因为这是相当标准的并且类似于其他 Google API。您需要使用您的 OAuth 凭证初始化目录实例,这取决于您使用的应用程序类型(独立应用程序或 App Engine),请查看此处 (https://code.google.com/p/google-api-java-client/source/browse/?repo=samples) 有许多其他 API 的示例涵盖了 App Engine和独立的应用程序。在这种情况下,OAuth 凭据初始化应该非常相似。

您需要从这里 (https://developers.google.com/api-client-library/java/apis/admin/directory_v1) 下载最新的 Admin SDK jar 或包含以下 Maven 依赖项

<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-admin</artifactId>
<version>directory_v1-rev32-1.16.0-rc</version>
</dependency>

这是 Java 示例

import java.io.IOException;
import java.security.GeneralSecurityException;

import com.google.api.client.auth.oauth2.Credential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.admin.directory.Directory;
import com.google.api.services.admin.directory.model.User;
import com.google.api.services.admin.directory.model.UserName;

public class DirectoryUtils {

/** Global instance of the JSON factory. */
private static final JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance();

/** Global instance of the HTTP transport. */
private static HttpTransport httpTransport;

public static Directory initDirectory() throws GeneralSecurityException, IOException {
httpTransport = GoogleNetHttpTransport.newTrustedTransport();

Credential credential = null; // TODO initialize credentials

Directory directory = new Directory.Builder(httpTransport, JSON_FACTORY, credential)
.setApplicationName("My App Name")
.build();

return directory;
}

public static User createUser(Directory directory) throws IOException {
User user = new User();
// populate are the required fields only
UserName name = new UserName();
name.setFamilyName("Blogs");
name.setGivenName("Jo");
user.setName(name);
user.setPassword("password101");
user.setPrimaryEmail("jo.blogs@example.com");

// requires DirectoryScopes.ADMIN_DIRECTORY_USER scope
user = directory.users().insert(user).execute();

return user;
}
}

重要

您需要确保 OAuth token 是由具有域访问权限并可以从管理面板创建域用户的人获得的。您还需要确保您的客户端 ID 可以访问以下范围 (https://www.googleapis.com/auth/admin.directory.user)。要添加它,请导航到管理面板 → 更多控制 → 安全 → 高级设置 → 管理 OAuth 客户端访问,然后输入您的客户端 ID 和上述范围

关于java - 使用 Java 中的 Google Admin SDK Directory API 为域创建 gmail 帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25383591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com