I have been using this script for quite some time ... It reads out AGOL account and creates a csv file for those users that have not logged in from 80-90 days.
But recently started getting an error on line 10 below lastLogintime = user.lastLogin/1000
I am assume this is from the recent AGOL Update?
did it change from user.lastLogin
ERROR
Traceback (most recent call last):
File "K:\GIS Share\GIS_AGOLProcessing\UsersAboutToExpire.py", line 84, in <module>
main()
File "K:\GIS Share\GIS_AGOLProcessing\UsersAboutToExpire.py", line 48, in main
lastLogintime = user.lastLogin/1000
File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\arcgis\gis\__init__.py", line 8920, in __getattr__
"'%s' object has no attribute '%s'" % (type(self).__name__, name)
AttributeError: 'User' object has no attribute 'lastLogin'CODE
def main():
#log_obj.info("-- Starting to Process AGOL Users...".format())
with open(output_csv, 'w', encoding='utf-8') as file:
csvfile = csv.writer(file, delimiter=',', lineterminator='\n')
csvfile.writerow(["username", "email", "roleID",
"level", "disabled", "role",
"licenseType", "lastLogin", "daysSince"])
counter = 0
for user in user_list:
lastLogintime = user.lastLogin/1000
lastLoginTimeConvert = (datetime.utcfromtimestamp(lastLogintime).strftime('%Y-%m-%d %H:%M:%S'))
format = '%Y-%m-%d %H:%M:%S'
lastLoginDate = datetime.strptime(lastLoginTimeConvert, format)
lastLoginDATE = datetime.now() - lastLoginDate
lastLoginDAYS = lastLoginDATE.days
varDisabvled = user.disabled
#if lastLoginDAYS > 80:
if lastLoginDAYS in range(80,90):
if varDisabvled == False:
try:
varusername = user.username
varemail = user.email
varRoleID = rol_ids[user.roleId]
varlevel = user.level
vardisabledValue = user.disabled
varrole = user.role
varlicenceType = user.userLicenseTypeId
varLastLogin = lastLoginDate
varLastLoginDays = lastLoginDAYS
z = (varusername if isinstance(varusername, list) else [varusername]) + [varemail] + [varRoleID] + [varlevel] + [vardisabledValue] + [varrole] + [varlicenceType] + [varLastLogin] + [varLastLoginDays]
output.append(z)
counter += 1
csvfile.writerow([varusername, varemail, varRoleID,
varlevel, vardisabledValue, varrole,
varlicenceType, varLastLogin, varLastLoginDays
])
except KeyError as e:
print(user.username, e)
print(counter)