0

Google Apps ドメインの特定の組織部門に (新しく作成された) ユーザーを追加しようとしていますが、これに関するドキュメントや例が見つかりません。これは可能ですか?おそらく、プレーンな REST 呼び出しを使用してですか?

ユーザーを作成するためのこれまでの私のコード:

var user = UserManager.createUser(userName, firstName, lastName, "welcome").setChangePasswordAtNextLogin(true);

ここで、ユーザーを特定の組織単位に関連付け、特定のグループのメンバーにしたいと考えています (ただし、それは私が掘り下げている別の質問です)。

どんな助けでも大歓迎です!

よろしく、

キース。

4

3 に答える 3

3

UserManager サービスは組織単位をサポートしていませんが、リクエストを手動で作成できます。

次の Apps Script コードは、OU にユーザーを追加します。パラメータは、customerId、組織単位に追加するユーザーの電子メール アドレス、および組織単位のパスです。

function addUserToOU(customerId, email, ou) {
  var oauthConfig = UrlFetchApp.addOAuthService("google");

  var scope = "https://apps-apis.google.com/a/feeds/policies/";
  oauthConfig.setRequestTokenUrl("https://www.google.com/accounts/OAuthGetRequestToken?scope="+scope);         
  oauthConfig.setAuthorizationUrl("https://www.google.com/accounts/OAuthAuthorizeToken");
  oauthConfig.setAccessTokenUrl("https://www.google.com/accounts/OAuthGetAccessToken");

  oauthConfig.setConsumerKey("anonymous");
  oauthConfig.setConsumerSecret("anonymous");

  var body = "<?xml version=\"1.0\" encoding=\"utf-8\"?><atom:entry xmlns:atom=\"http://www.w3.org/2005/Atom\" xmlns:apps=\"http://schemas.google.com/apps/2006\"><apps:property name=\"orgUnitPath\" value=\"" + ou + "\" /></atom:entry>";

  var requestData = {
    "method": "put",
    "contentType": "application/atom+xml",
    "oAuthServiceName": "google",
    "oAuthUseToken": "always",
    "payload": body
  };

  var url = "https://apps-apis.google.com/a/feeds/orguser/2.0/" + customerId + "/" + email;
  var result = UrlFetchApp.fetch(url, requestData);
  Logger.log(result.getContentText());
}
于 2012-06-05T22:48:58.030 に答える
1

この作業は今日では非常に簡単だと思います: この単純なコードは動作するはずです:

var emailAddress = 'myuser@mydomain.com';
var user = AdminDirectory.Users.get(emailAddress);
var orgunittomove='myorgunit'   //you can set the whole path;

user.orgUnitPath = orgunittomove;
AdminDirectory.Users.update(user, emailAddress);
于 2015-08-30T09:45:58.683 に答える