hi all, I'm trying to clone ArcGIS online users to another online, but it gives me an error at the last step when calling the Clone function :
note that these accounts are trial only 21 days.
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
target_admin_username = 'clone_portal_2'
#!esri_ & !admin
source_users = source.users.search('!esri_ & !admin')
for user in source_users:
print(user.username + "\t:\t" + str(user.role))
len(source_users)
target_users = target.users.search('!esri_ & !admin & !system_publisher')
for target in target_users:
print(target.username + "\t:\t" + str(target.role))
print('LenUsers:',len(target_users))
# filter out system and initial administrator accounts
target_users = target.users.search('!esri_ & !admin & !system_publisher')
target_users
for source_user in source_users:
try:
target_user = target.users.get(source_user.username)
if target_user is not None:
print('Deleting user: ' + target_user.fullName)
target_user.reassign_to(target_admin_username)
target_user.delete()
except:
print('User {} does not exist in Target Portal'.format(source_user.username))
def copy_user(target_portal, source_user, 'TestPassword@123')
# See if the user has firstName and lastName properties
try:
first_name = source_user.firstName
last_name = source_user.lastName
except:
# if not, split the fullName
full_name = source_user.fullName
first_name = full_name.split()[0]
try:
last_name = full_name.split()[1]
except:
last_name = 'NoLastName'
try:
# create user
target_user = target_portal.users.create(source_user.username, password, first_name,
last_name, source_user.email,
source_user.description, source_user.role)
# update user properties
target_user.update(source_user.access, source_user.preferredView,
source_user.description, source_user.tags,
source_user.get_thumbnail_link(),
culture=source_user.culture, region=source_user.region)
return target_user
except Exception as Ex:
print(str(Ex))
print("Unable to create user "+ source_user.username)
return None
for user in source_users:
print("Creating user: " + user.username)
copy_user(target, user, 'TestPassword@123')
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
Error
Creating user: clone_portal
Unable to create clone_portal
'NoneType' object has no attribute 'update'
Unable to create user clone_portal