如何使用Google Admin SDK Directory API在Java中为域创建gmail帐户?那里有个例子吗?关于此问题,Google文档非常糟糕。
马可斯
这是一个基本示例,显示了如何使用Admin SDK的Directory API(https://developers.google.com/admin-sdk/directory/v1/reference/users/insert)创建用户。我没有包括OAuth 2初始化代码,因为这是相当标准的并且类似于其他Google API。您需要使用OAuth凭据初始化Directory实例,这取决于您使用的应用程序类型(独立或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("[email protected]");
// requires DirectoryScopes.ADMIN_DIRECTORY_USER scope
user = directory.users().insert(user).execute();
return user;
}
}
重要的
您需要确保OAuth令牌是由具有域访问权限并可以从管理面板创建域用户的人获取的。您还需要确保您的客户ID可以访问以下范围(https://www.googleapis.com/auth/admin.directory.user)。要添加此内容,请导航到管理面板→更多控件→安全性→高级设置→管理OAuth客户端访问权限,然后输入您的客户端ID和上述范围
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句