четверг, 9 мая 2013 г.

Google Provision API: Single class to work with. Простой класс для работы с основными объектами Google Provision API

Если у вас есть Google Apps Business или Education, можно совершенно замечательно пользоваться преимуществами Provision API - создавать и управлять пользователями (в частности в Gmail). Некоторое затруднение состоит в том, что какими-то свойствами пользователя надо управлять через AppsService, а другими - через OrganizationService, что не очень удобно.


По ссылке вы можете скачать и подключить dll с новым классом, который объединяет в себе доступ ко всем свойствам почтового ящика (если кто считает, что чего-то не хватает - пишите, я доработаю), так же вам понадобится основная .NET библиотека от Google.

Вот пример кода (VB.NET) по использованию класса:


Imports MyGmailLIB
.......

' Создать ящик


Dim gmObject As GmailObject = New GmailObject("yourDomain", "yourAdminEmail", "YourAdminPassword")

gmObject.CreateUser("andrey.baranov(login)", "Andrey(givenName)", "Baranov(FamilyName)", "catholic1234(password)")

' Работать с ящиком

Dim user As GmailUser = New GmailUser("UserLogin", "yourDomain", "yourAdminEmail", "YourPassword")
If IsNothing(user.ErrorMessage) Then

        Dim UserName As String = user.UserName
        Dim givenName As String = user.givenName
        Dim sn As String = user.sn
        Dim isSuspended As Boolean = user.IsSuspended
        Dim OU As String = user.OU
        Dim groups As New List(Of GroupRecord)
        
        groups = user.GetUserGroups
        user.AddUserGroup("groupname@yourDomain.com")
        user.RemoveUserGroup("elearning@yourDomain.com")
        user.givenName = "John"
        user.sn = "Smith"
        user.IsSuspended = False
        user.UserName = "john.smith"
        user.OU = "ICT infrastructure OU"
        user.Password = "Pa$$w0rd"
End If

Обновления объекта отражаются немедленно. Если вы переименовываете логин (UserName), то никнейм со старым логином тут же удаляется (это не по умолчанию, но наш бизнес так потребовал)

Комментариев нет: