いてづきブログ

情シスでやってみたことの備忘録

GoogleAppsのパスワードを更新

まずはGoogle Data API SDKをインストーするする必要がある。

[C#] Google Data API SDKのインストール


プロジェクトに以下のdllの参照を追加する。
場所はデフォルトなら「C:\Program Files\Google\Google Data API SDK\Redist」

実際に更新するソース(抜粋)

using Google.GData.Apps;
using Google.GData.Client;
using Google.GData.Extensions;

try
{
AppsService service = new AppsService(domain, adminName, adminPassword);

// メールアドレスからドメインを除いたものがusername
UserEntry entry = service.RetrieveUser(userName);

entry.Login.Password = newPassword;
entry.Login.ChangePasswordAtNextLogin = false; // 次回ログイン時のパスワード変更要求を無効化
entry = entry.Update(); // パスワードを更新
}
// 更新失敗した場合
catch (AppsException)
{
result = false;
}
catch (Exception e)
{
throw e;
}

実際に使用する場合は、provisioningApiを有効化しておく必要がある。
管理 API - Google Apps ヘルプ


UserEntry.Loginの中にユーザー情報が格納されている。
更新したい項目を変更してUpdateで更新できる。
なお、セキュリティの関係上、現在のパスワードを取得することはできない


失敗かどうかはAppsExceptionをCatchするしかない模様。
AppsExceptionの中に、errorCodeとReasonがあり、そこから理由を推測。
エラーはこんな感じ。