Class: GAppsProvisioning::ProvisioningApi
- Inherits:
-
Object
- Object
- GAppsProvisioning::ProvisioningApi
- Defined in:
- lib/gappsprovisioning/provisioningapi.rb
Constant Summary collapse
- @@google_host =
'apps-apis.google.com'- @@google_port =
443
Instance Attribute Summary collapse
-
#token ⇒ Object
readonly
authentication token, valid up to 24 hours after the last connection.
Instance Method Summary collapse
-
#add_address_to_email_list(email_list, address) ⇒ Object
(also: #addRecipientToEmailList)
Adds an email address to an email list in your domain and returns an EmailListRecipientEntry instance.
-
#add_member_to_group(member_id, group_id) ⇒ Object
(also: #addMemberToGroup)
Add a Member to a Group This method takes two arguments: The group_id argument identifies the group to which the address is being added.
-
#add_owner_to_group(owner_email, group_id) ⇒ Object
(also: #addOwnerToGroup)
Methods for Group Owners.
-
#create_email_list(name) ⇒ Object
(also: #createEmailList)
Creates an email list in your domain and returns an EmailListEntry ex : myapps = ProvisioningApi.new(‘[email protected]’,‘PaSsWoRd’) list= myapps.create_email_lists(“mylist”).
-
#create_group(group_id, group_name, description, email_permission) ⇒ Object
(also: #createGroup)
Groups API This method takes four arguments: The group_id (required) argument identifies the ID of the new group.
-
#create_nickname(username, nickname) ⇒ Object
(also: #createNickname)
Creates a nickname for the username in your domain and returns a NicknameEntry instance myapps = ProvisioningApi.new(‘[email protected]’,‘PaSsWoRd’) mynewnick = myapps.create_nickname(‘jsmith’, ‘john.smith’).
-
#create_user(username, given_name, family_name, password, passwd_hash_function = nil, quota = nil, suspended = nil) ⇒ Object
(also: #createUser)
Creates an account in your domain, returns a UserEntry instance params : username, given_name, family_name and password are required passwd_hash_function (optional) : nil (default) or “SHA-1” quota (optional) : nil (default) or integer for limit in MB ex : myapps = ProvisioningApi.new(‘[email protected]’,‘PaSsWoRd’) user = myapps.create(‘jsmith’, ‘John’, ‘Smith’, ‘p455wD’).
-
#delete_email_list(name) ⇒ Object
(also: #deleteEmailList)
Deletes an email list in your domain.
- #delete_group(group_id) ⇒ Object (also: #deleteGroup)
-
#delete_nickname(nickname) ⇒ Object
(also: #deleteNickname)
Deletes the nickname in your domain myapps = ProvisioningApi.new(‘[email protected]’,‘PaSsWoRd’) myapps.delete_nickname(‘john.smith’).
-
#delete_user(username) ⇒ Object
(also: #deleteUser)
Deletes an account in your domain ex : myapps = ProvisioningApi.new(‘[email protected]’,‘PaSsWoRd’) myapps.delete(‘jsmith’).
-
#initialize(mail, passwd, proxy = nil, proxy_port = nil, proxy_user = nil, proxy_passwd = nil) ⇒ ProvisioningApi
constructor
Creates a new ProvisioningApi object.
- #is_member?(member_id, group_id) ⇒ Boolean (also: #isMember)
- #is_owner?(owner_email, group_id) ⇒ Boolean (also: #isOwner)
-
#remove_address_from_email_list(address, email_list) ⇒ Object
(also: #removeRecipientFromEmailList)
Removes an address from an email list.
- #remove_member_from_group(member_id, group_id) ⇒ Object (also: #removeMemberFromGroup)
- #remove_owner_from_group(owner_email, group_id) ⇒ Object (also: #removeOwnerFromGroup)
-
#restore_user(username) ⇒ Object
(also: #restoreUser)
Restores a suspended account in your domain, returns a UserEntry instance ex : myapps = ProvisioningApi.new(‘[email protected]’,‘PaSsWoRd’) user = myapps.restore(‘jsmith’) puts user.suspended => “false”.
-
#retrieve_all_email_lists ⇒ Object
(also: #retrieveAllEmailLists)
Returns an EmailListEntry array for the whole domain ex : myapps = ProvisioningApi.new(‘[email protected]’,‘PaSsWoRd’) all_lists = myapps.retrieve_all_email_lists all_lists.each {|list| puts list.email_list }.
- #retrieve_all_groups ⇒ Object (also: #retrieveAllGroups)
- #retrieve_all_members(group_id) ⇒ Object (also: #retrieveAllMembers)
-
#retrieve_all_nicknames ⇒ Object
(also: #retrieveAllNicknames)
Returns a NicknameEntry array for the whole domain.
- #retrieve_all_owners(group_id) ⇒ Object (also: #retrieveAllOwners)
-
#retrieve_all_recipients(email_list) ⇒ Object
(also: #retrieveAllRecipients)
Returns an EmailListRecipientEntry array for an email list.
-
#retrieve_all_users ⇒ Object
(also: #retrieveAllUsers)
Returns a UserEntry array populated with all the users in the domain.
-
#retrieve_email_lists(email_adress) ⇒ Object
(also: #retrieveEmailLists)
Obsolete: EmailList API Returns an EmailListEntry array from an email adress ex : myapps = ProvisioningApi.new(‘[email protected]’,‘PaSsWoRd’) mylists = myapps.retrieve_email_lists(‘jsmith’) <= you could search from ‘[email protected]’ too mylists.each {|list| puts list.email_list }.
- #retrieve_group(group_id) ⇒ Object (also: #retrieveGroup)
-
#retrieve_groups(member_id, direct_only = true) ⇒ Object
(also: #retrieveGroups)
Retrieve all Groups for a Member This method takes two arguments: The member_id (required) argument identifies the ID of a hosted user for which you want to retrieve group subscriptions.
-
#retrieve_nickname(nickname) ⇒ Object
(also: #retrieveNickname)
Returns a NicknameEntry instance from a nickname ex : myapps = ProvisioningApi.new(‘[email protected]’,‘PaSsWoRd’) nickname = myapps.retrieve_nickname(‘jsmith’) puts “login : ”+nickname.login.
-
#retrieve_nicknames(username) ⇒ Object
(also: #retrieveNicknames)
Returns a NicknameEntry array from a username ex : lists jsmith’s nicknames myapps = ProvisioningApi.new(‘[email protected]’,‘PaSsWoRd’) mynicks = myapps.retrieve(‘jsmith’) mynicks.each {|nick| puts nick.nickname }.
-
#retrieve_page_of_email_lists(start_listname) ⇒ Object
(also: #retrievePageOfEmailLists)
Returns an EmailListEntry array populated with 100 email lists, starting from an email list name.
-
#retrieve_page_of_nicknames(start_nickname) ⇒ Object
(also: #retrievePageOfNicknames)
Returns a NicknameEntry array populated with 100 nicknames, starting from a nickname ex : myapps = ProvisioningApi.new(‘[email protected]’,‘PaSsWoRd’) list= myapps.retrieve_page_of_nicknames(“joe”) list.each{ |nick| puts nick.login}.
-
#retrieve_page_of_recipients(email_list, start_recipient) ⇒ Object
(also: #retrievePageOfRecipients)
Returns an EmailListRecipientEntry Array populated with 100 recipients from an email list, starting from a recipient name.
-
#retrieve_page_of_users(start_username) ⇒ Object
(also: #retrievePageOfUsers)
Returns a UserEntry array populated with 100 users, starting from a username ex : myapps = ProvisioningApi.new(‘[email protected]’,‘PaSsWoRd’) list= myapps.retrieve_page_of_users(“jsmtih”) list.each{ |user| puts user.username}.
-
#retrieve_user(username) ⇒ Object
(also: #retrieveUser)
Returns a UserEntry instance from a username ex : myapps = ProvisioningApi.new(‘[email protected]’,‘PaSsWoRd’) user = myapps.retrieve_user(‘jsmith’) puts “givenName : ”+user.given_name puts “familyName : ”+user.family_name.
-
#suspend_user(username) ⇒ Object
(also: #suspendUser)
Suspends an account in your domain, returns a UserEntry instance ex : myapps = ProvisioningApi.new(‘[email protected]’,‘PaSsWoRd’) user = myapps.suspend(‘jsmith’) puts user.suspended => “true”.
- #update_group(group_id, group_name, description, email_permission) ⇒ Object (also: #updateGroup)
-
#update_user(username, given_name, family_name, password = nil, passwd_hash_function = nil, admin = nil, suspended = nil, changepasswd = nil, quota = nil) ⇒ Object
(also: #updateUser)
Updates an account in your domain, returns a UserEntry instance params : username is required and can’t be updated.
Constructor Details
#initialize(mail, passwd, proxy = nil, proxy_port = nil, proxy_user = nil, proxy_passwd = nil) ⇒ ProvisioningApi
Creates a new ProvisioningApi object
mail : Google Apps domain administrator e-mail (string)
passwd : Google Apps domain administrator password (string)
proxy : (optional) host name, or IP, of the proxy (string)
proxy_port : (optional) proxy port number (numeric)
proxy_user : (optional) login for authenticated proxy only (string)
proxy_passwd : (optional) password for authenticated proxy only (string)
The domain name is extracted from the mail param value.
Examples :
standard : no proxy
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd')
proxy :
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd','domain.proxy.com',8080)
authenticated proxy :
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd','domain.proxy.com',8080,'foo','bAr')
142 143 144 145 146 147 148 149 150 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 142 def initialize(mail, passwd, proxy=nil, proxy_port=nil, proxy_user=nil, proxy_passwd=nil) domain = mail.split('@')[1] @action = setup_actions(domain) conn = Connection.new(@@google_host, @@google_port, proxy, proxy_port, proxy_user, proxy_passwd) @connection = conn @token = login(mail, passwd) @headers = {'Content-Type'=>'application/atom+xml', 'Authorization'=> 'GoogleLogin auth='+token} return @connection end |
Instance Attribute Details
#token ⇒ Object (readonly)
authentication token, valid up to 24 hours after the last connection
121 122 123 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 121 def token @token end |
Instance Method Details
#add_address_to_email_list(email_list, address) ⇒ Object Also known as: addRecipientToEmailList
Adds an email address to an email list in your domain and returns an EmailListRecipientEntry instance. You can add addresses from other domains to your email list. Omit “@mydomain.com” in the email list name. ex :
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd')
new_address = myapps.add_address_to_email_list('mylist', '[email protected]')
518 519 520 521 522 523 524 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 518 def add_address_to_email_list(email_list,address) msg = RequestMessage.new msg.about_email_list(email_list) msg.about_who(address) response = request(:subscription_add, email_list+'/recipient/',@headers, msg.to_s) email_list_recipient_entry = EmailListRecipientEntry.new(response.elements["entry"]) end |
#add_member_to_group(member_id, group_id) ⇒ Object Also known as: addMemberToGroup
Add a Member to a Group This method takes two arguments:
The group_id argument identifies the group to which the address
is being added.
The member_id argument identifies the name of the member that is
being added to a group.
385 386 387 388 389 390 391 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 385 def add_member_to_group(member_id, group_id) msg = RequestMessage.new(false) msg.about_member(member_id) add_member = group_id+'/member' xml_response = request(:group_add_member, add_member, @headers, msg.to_s) member_entry = MemberEntry.new(xml_response.elements["entry"]) end |
#add_owner_to_group(owner_email, group_id) ⇒ Object Also known as: addOwnerToGroup
Methods for Group Owners
411 412 413 414 415 416 417 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 411 def add_owner_to_group(owner_email, group_id) msg = RequestMessage.new(false) msg.about_owner(owner_email) add_owner = group_id+'/owner' xml_response = request(:group_add_member, add_owner, @headers, msg.to_s) owner_entry = OwnerEntry.new(xml_response.elements["entry"]) end |
#create_email_list(name) ⇒ Object Also known as: createEmailList
Creates an email list in your domain and returns an EmailListEntry
ex :
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd')
list= myapps.create_email_lists("mylist")
475 476 477 478 479 480 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 475 def create_email_list(name) msg = RequestMessage.new msg.about_email_list(name) response = request(:email_list_create,nil,@headers, msg.to_s) email_list_entry = EmailListEntry.new(response.elements["entry"]) end |
#create_group(group_id, group_name, description, email_permission) ⇒ Object Also known as: createGroup
Groups API This method takes four arguments:
The group_id (required) argument identifies the ID of the new group.
The group_name (required) argument identifies the name of the group being added.
The description argument provides a general description of the group.
The email_permission argument sets the permissions level of the group.
Owner - Owners of the group
Member - Members of the group
Domain - Any user who belongs to the same domain as the group
Anyone - Any user
Note: A newly created group does not have any subscribers. You must call the add_member_to_group method to add members to a group.
338 339 340 341 342 343 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 338 def create_group(group_id, group_name, description, ) msg = RequestMessage.new(false) msg.about_group(group_id, group_name, description, ) xml_response = request(:group_create, nil, @headers, msg.to_s) group_entry = GroupEntry.new(xml_response.elements["entry"]) end |
#create_nickname(username, nickname) ⇒ Object Also known as: createNickname
Creates a nickname for the username in your domain and returns a NicknameEntry instance
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd')
mynewnick = myapps.create_nickname('jsmith', 'john.smith')
300 301 302 303 304 305 306 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 300 def create_nickname(username,nickname) msg = RequestMessage.new msg.about_login(username) msg.about_nickname(nickname) response = request(:nickname_create,nil,@headers, msg.to_s) nickname_entry = NicknameEntry.new(response.elements["entry"]) end |
#create_user(username, given_name, family_name, password, passwd_hash_function = nil, quota = nil, suspended = nil) ⇒ Object Also known as: createUser
Creates an account in your domain, returns a UserEntry instance
params :
username, given_name, family_name and password are required
passwd_hash_function (optional) : nil (default) or "SHA-1"
quota (optional) : nil (default) or integer for limit in MB
ex :
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd')
user = myapps.create('jsmith', 'John', 'Smith', 'p455wD')
By default, a new user must change his password at first login. Please use update_user if you want to change this just after the creation.
198 199 200 201 202 203 204 205 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 198 def create_user(username, given_name, family_name, password, passwd_hash_function=nil, quota=nil, suspended=nil) msg = RequestMessage.new msg.about_login(username,password,passwd_hash_function,"false",suspended,"true") msg.about_name(family_name, given_name) msg.about_quota(quota.to_s) if quota response = request(:user_create,nil,@headers, msg.to_s) user_entry = UserEntry.new(response.elements["entry"]) end |
#delete_email_list(name) ⇒ Object Also known as: deleteEmailList
Deletes an email list in your domain. Omit “@mydomain.com” in the email list name.
ex :
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd')
myapps.delete_email_lists("mylist")
486 487 488 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 486 def delete_email_list(name) response = request(:email_list_delete,name,@headers) end |
#delete_group(group_id) ⇒ Object Also known as: deleteGroup
375 376 377 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 375 def delete_group(group_id) response = request(:group_delete, group_id, @headers) end |
#delete_nickname(nickname) ⇒ Object Also known as: deleteNickname
Deletes the nickname in your domain
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd')
myapps.delete_nickname('john.smith')
311 312 313 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 311 def delete_nickname(nickname) response = request(:nickname_delete,nickname,@headers) end |
#delete_user(username) ⇒ Object Also known as: deleteUser
Deletes an account in your domain
ex :
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd')
myapps.delete('jsmith')
261 262 263 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 261 def delete_user(username) response = request(:user_delete,username,@headers) end |
#is_member?(member_id, group_id) ⇒ Boolean Also known as: isMember
400 401 402 403 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 400 def is_member?(member_id, group_id) membership = group_id+'/member/'+member_id request_valid_object?(:group_retrieve, membership, @headers) end |
#is_owner?(owner_email, group_id) ⇒ Boolean Also known as: isOwner
426 427 428 429 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 426 def is_owner?(owner_email, group_id) ownership = group_id+'/owner/'+owner_email request_valid_object?(:group_retrieve, ownership, @headers) end |
#remove_address_from_email_list(address, email_list) ⇒ Object Also known as: removeRecipientFromEmailList
Removes an address from an email list.
ex :
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd')
myapps.remove_address_from_email_list('[email protected]', 'mylist')
530 531 532 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 530 def remove_address_from_email_list(address,email_list) response = request(:subscription_remove, email_list+'/recipient/'+address,@headers) end |
#remove_member_from_group(member_id, group_id) ⇒ Object Also known as: removeMemberFromGroup
405 406 407 408 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 405 def remove_member_from_group(member_id, group_id) membership = group_id+'/member/'+member_id str_response = request(:group_delete, membership, @headers) end |
#remove_owner_from_group(owner_email, group_id) ⇒ Object Also known as: removeOwnerFromGroup
431 432 433 434 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 431 def remove_owner_from_group(owner_email, group_id) ownership = group_id+'/owner/'+owner_email xml_response = request(:group_delete, ownership, @headers) end |
#restore_user(username) ⇒ Object Also known as: restoreUser
Restores a suspended account in your domain, returns a UserEntry instance
ex :
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd')
user = myapps.restore('jsmith')
puts user.suspended => "false"
249 250 251 252 253 254 255 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 249 def restore_user(username) msg = RequestMessage.new msg.about_login(username,nil,nil,nil,"false") msg.add_path('https://'+@@google_host+@action[:user_update][:path]+username) response = request(:user_update,username,@headers, msg.to_s) user_entry = UserEntry.new(response.elements["entry"]) end |
#retrieve_all_email_lists ⇒ Object Also known as: retrieveAllEmailLists
Returns an EmailListEntry array for the whole domain
ex :
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd')
all_lists = myapps.retrieve_all_email_lists
all_lists.each {|list| puts list.email_list }
453 454 455 456 457 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 453 def retrieve_all_email_lists xml_response = request(:email_list_retrieve_in_domain, nil, @headers) email_list_feed = Feed.new(xml_response.elements["feed"], EmailListEntry) email_list_feed = add_next_feeds(email_list_feed, xml_response, EmailListEntry) end |
#retrieve_all_groups ⇒ Object Also known as: retrieveAllGroups
369 370 371 372 373 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 369 def retrieve_all_groups # start_at = '?start='+start xml_response = request(:group_retrieve, nil, @headers) group_feed = Feed.new(xml_response.elements["feed"], GroupEntry) end |
#retrieve_all_members(group_id) ⇒ Object Also known as: retrieveAllMembers
393 394 395 396 397 398 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 393 def retrieve_all_members(group_id) all_members = group_id+'/member' # all_members << '&start='+start xml_response = request(:group_retrieve, all_members, @headers) member_feed = Feed.new(xml_response.elements["feed"], MemberEntry) end |
#retrieve_all_nicknames ⇒ Object Also known as: retrieveAllNicknames
Returns a NicknameEntry array for the whole domain. May take a while depending on the number of users in your domain. myapps = ProvisioningApi.new(‘[email protected]’,‘PaSsWoRd’)
allnicks = myapps.retrieve_all_nicknames
allnicks.each {|nick| puts nick.nickname }
291 292 293 294 295 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 291 def retrieve_all_nicknames xml_response = request(:nickname_retrieve_all_in_domain, nil, @headers) nicknames_feed = Feed.new(xml_response.elements["feed"], NicknameEntry) nicknames_feed = add_next_feeds(nicknames_feed, xml_response, NicknameEntry) end |
#retrieve_all_owners(group_id) ⇒ Object Also known as: retrieveAllOwners
419 420 421 422 423 424 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 419 def retrieve_all_owners(group_id) all_owners = group_id+'/member' # all_owners << '&start='+start xml_response = request(:group_retrieve, all_owners, @headers) owner_feed = Feed.new(xml_response.elements["feed"], OwnerEntry) end |
#retrieve_all_recipients(email_list) ⇒ Object Also known as: retrieveAllRecipients
Returns an EmailListRecipientEntry array for an email list.
ex :
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd')
recipients = myapps.retrieve_all_recipients('mylist') <= do not write "[email protected]", write "mylist" only.
recipients.each {|recipient| puts recipient.email }
495 496 497 498 499 500 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 495 def retrieve_all_recipients(email_list) param = email_list+'/recipient/' xml_response = request(:subscription_retrieve, param, @headers) email_list_recipient_feed = Feed.new(xml_response.elements["feed"], EmailListRecipientEntry) email_list_recipient_feed = add_next_feeds(email_list_recipient_feed, xml_response, EmailListRecipientEntry) end |
#retrieve_all_users ⇒ Object Also known as: retrieveAllUsers
Returns a UserEntry array populated with all the users in the domain. May take a while depending on the number of users in your domain.
ex :
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd')
list= myapps.retrieve_all_users
list.each{ |user| puts user.username}
puts 'nb users : ',list.size
171 172 173 174 175 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 171 def retrieve_all_users response = request(:user_retrieve_all,nil,@headers) user_feed = Feed.new(response.elements["feed"], UserEntry) user_feed = add_next_feeds(user_feed, response, UserEntry) end |
#retrieve_email_lists(email_adress) ⇒ Object Also known as: retrieveEmailLists
Obsolete: EmailList API Returns an EmailListEntry array from an email adress
ex :
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd')
mylists = myapps.retrieve_email_lists('jsmith') <= you could search from '[email protected]' too
mylists.each {|list| puts list.email_list }
442 443 444 445 446 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 442 def retrieve_email_lists(email_adress) xml_response = request(:email_list_retrieve_for_an_email, email_adress, @headers) email_list_feed = Feed.new(xml_response.elements["feed"], EmailListEntry) email_list_feed = add_next_feeds(email_list_feed, xml_response, EmailListEntry) end |
#retrieve_group(group_id) ⇒ Object Also known as: retrieveGroup
345 346 347 348 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 345 def retrieve_group(group_id) xml_response = request(:group_retrieve, group_id, @headers) group_entry = GroupEntry.new(xml_response.elements["entry"]) end |
#retrieve_groups(member_id, direct_only = true) ⇒ Object Also known as: retrieveGroups
Retrieve all Groups for a Member This method takes two arguments:
The member_id (required) argument identifies the ID of a hosted user
for which you want to retrieve group subscriptions.
If true, direct_only identifies only members with direct association.
362 363 364 365 366 367 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 362 def retrieve_groups(member_id, direct_only=true) for_member = '?member='+member_id for_member << '&directOnly=true' if direct_only xml_response = request(:group_retrieve, for_member, @headers) group_feed = Feed.new(xml_response.elements["feed"], GroupEntry) end |
#retrieve_nickname(nickname) ⇒ Object Also known as: retrieveNickname
Returns a NicknameEntry instance from a nickname
ex :
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd')
nickname = myapps.retrieve_nickname('jsmith')
puts "login : "+nickname.login
271 272 273 274 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 271 def retrieve_nickname(nickname) xml_response = request(:nickname_retrieve, nickname, @headers) nickname_entry = NicknameEntry.new(xml_response.elements["entry"]) end |
#retrieve_nicknames(username) ⇒ Object Also known as: retrieveNicknames
Returns a NicknameEntry array from a username ex : lists jsmith’s nicknames
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd')
mynicks = myapps.retrieve('jsmith')
mynicks.each {|nick| puts nick.nickname }
281 282 283 284 285 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 281 def retrieve_nicknames(username) xml_response = request(:nickname_retrieve_all_for_user, username, @headers) nicknames_feed = Feed.new(xml_response.elements["feed"], NicknameEntry) nicknames_feed = add_next_feeds(nicknames_feed, xml_response, NicknameEntry) end |
#retrieve_page_of_email_lists(start_listname) ⇒ Object Also known as: retrievePageOfEmailLists
Returns an EmailListEntry array populated with 100 email lists, starting from an email list name. Starting email list name must be written “mylist”, not “[email protected]”. Omit “@mydomain.com”.
ex :
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd')
list= myapps.retrieve_page_of_email_lists("mylist")
list.each{ |entry| puts entry.email_list}
465 466 467 468 469 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 465 def retrieve_page_of_email_lists(start_listname) param='?startEmailListName='+start_listname xml_response = request(:email_list_retrieve_in_domain, param, @headers) email_list_feed = Feed.new(xml_response.elements["feed"], EmailListEntry) end |
#retrieve_page_of_nicknames(start_nickname) ⇒ Object Also known as: retrievePageOfNicknames
Returns a NicknameEntry array populated with 100 nicknames, starting from a nickname
ex :
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd')
list= myapps.retrieve_page_of_nicknames("joe")
list.each{ |nick| puts nick.login}
320 321 322 323 324 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 320 def retrieve_page_of_nicknames(start_nickname) param='?startNickname='+start_nickname xml_response = request(:nickname_retrieve_all_in_domain, param, @headers) nicknames_feed = Feed.new(xml_response.elements["feed"], NicknameEntry) end |
#retrieve_page_of_recipients(email_list, start_recipient) ⇒ Object Also known as: retrievePageOfRecipients
Returns an EmailListRecipientEntry Array populated with 100 recipients from an email list, starting from a recipient name. Omit “@mydomain.com” in the email list name.
ex :
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd')
list= myapps.retrieve_page_of_recipients('mylist', 'jsmith')
list.each{ |recipient| puts recipient.email}
507 508 509 510 511 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 507 def retrieve_page_of_recipients(email_list, start_recipient) param = email_list+'/recipient/?startRecipient='+start_recipient xml_response = request(:subscription_retrieve, param, @headers) recipients_feed = Feed.new(xml_response.elements["feed"], EmailListRecipientEntry) end |
#retrieve_page_of_users(start_username) ⇒ Object Also known as: retrievePageOfUsers
Returns a UserEntry array populated with 100 users, starting from a username
ex :
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd')
list= myapps.retrieve_page_of_users("jsmtih")
list.each{ |user| puts user.username}
182 183 184 185 186 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 182 def retrieve_page_of_users(start_username) param='?startUsername='+start_username response = request(:user_retrieve_all,param,@headers) user_feed = Feed.new(response.elements["feed"], UserEntry) end |
#retrieve_user(username) ⇒ Object Also known as: retrieveUser
Returns a UserEntry instance from a username
ex :
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd')
user = myapps.retrieve_user('jsmith')
puts "givenName : "+user.given_name
puts "familyName : "+user.family_name
160 161 162 163 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 160 def retrieve_user(username) xml_response = request(:user_retrieve, username, @headers) user_entry = UserEntry.new(xml_response.elements["entry"]) end |
#suspend_user(username) ⇒ Object Also known as: suspendUser
Suspends an account in your domain, returns a UserEntry instance
ex :
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd')
user = myapps.suspend('jsmith')
puts user.suspended => "true"
236 237 238 239 240 241 242 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 236 def suspend_user(username) msg = RequestMessage.new msg.about_login(username,nil,nil,nil,"true") msg.add_path('https://'+@@google_host+@action[:user_update][:path]+username) response = request(:user_update,username,@headers, msg.to_s) user_entry = UserEntry.new(response.elements["entry"]) end |
#update_group(group_id, group_name, description, email_permission) ⇒ Object Also known as: updateGroup
350 351 352 353 354 355 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 350 def update_group(group_id, group_name, description, ) msg = RequestMessage.new(false) msg.about_group(group_id, group_name, description, ) xml_response = request(:group_update, group_id, @headers, msg.to_s) group_entry = GroupEntry.new(xml_response.elements["entry"]) end |
#update_user(username, given_name, family_name, password = nil, passwd_hash_function = nil, admin = nil, suspended = nil, changepasswd = nil, quota = nil) ⇒ Object Also known as: updateUser
Updates an account in your domain, returns a UserEntry instance
params :
username is required and can't be updated.
given_name and family_name are required, may be updated.
if set to nil, every other parameter won't update the attribute.
passwd_hash_function : string "SHA-1" or nil (default)
admin : string "true" or string "false" or nil (no boolean : true or false).
suspended : string "true" or string "false" or nil (no boolean : true or false)
change_passwd : string "true" or string "false" or nil (no boolean : true or false)
quota : limit en MB, ex : string "2048"
ex :
myapps = ProvisioningApi.new('[email protected]','PaSsWoRd')
user = myapps.update('jsmith', 'John', 'Smith', nil, nil, "true", nil, "true", nil)
puts user.admin => "true"
221 222 223 224 225 226 227 228 229 |
# File 'lib/gappsprovisioning/provisioningapi.rb', line 221 def update_user(username, given_name, family_name, password=nil, passwd_hash_function=nil, admin=nil, suspended=nil, changepasswd=nil, quota=nil) msg = RequestMessage.new msg.about_login(username,password,passwd_hash_function,admin,suspended,changepasswd) msg.about_name(family_name, given_name) msg.about_quota(quota) if quota msg.add_path('https://'+@@google_host+@action[:user_update][:path]+username) response = request(:user_update,username,@headers, msg.to_s) user_entry = UserEntry.new(response.elements["entry"]) end |