def main(*argv): """ main driver of program """ try: # Inputs # adminUsername = argv[0] adminPassword = argv[1] siteURL = argv[2] username = argv[3] subFolders = argv[4].lower() == "true" # Logic # sh = arcrest.AGOLTokenSecurityHandler(adminUsername, adminPassword) admin = arcrest.manageorg.Administration(url=siteURL, securityHandler=sh) content = admin.content if isinstance(content, arcrest.manageorg._content.Content): pass usercontent = content.usercontent(username=username) res = usercontent.listUserContent(username=adminUsername) # Delete Root Items # eItems = "" itemsToErase = ",".join([item['id'] for item in res['items']]) usercontent.deleteItems(items=itemsToErase) # Walk Each Folder and erase items if subfolder == True # if subFolders: for folder in res['folders']: c = usercontent.listUserContent(username=username, folderId=folder['id']) itemsToErase = ",".join([item['id'] for item in c['items']]) if len(itemsToErase.split(',')) > 0: usercontent.deleteItems(items=itemsToErase) del c usercontent.deleteFolder(folderId=folder['id']) del folder arcpy.AddMessage("User %s content has been deleted." % username) arcpy.SetParameterAsText(4, True) except arcpy.ExecuteError: line, filename, synerror = trace() arcpy.AddError("error on line: %s" % line) arcpy.AddError("error in file name: %s" % filename) arcpy.AddError("with error message: %s" % synerror) arcpy.AddError("ArcPy Error Message: %s" % arcpy.GetMessages(2)) except FunctionError, f_e: messages = f_e.args[0] arcpy.AddError("error in function: %s" % messages["function"]) arcpy.AddError("error on line: %s" % messages["line"]) arcpy.AddError("error in file name: %s" % messages["filename"]) arcpy.AddError("with error message: %s" % messages["synerror"]) arcpy.AddError("ArcPy Error Message: %s" % messages["arc"])
def main(*argv): """ main driver of program """ try: username = str(argv[0]) password = str(argv[1]) baseURL = str(argv[2]) folderId = str(argv[3]) filePath = str(argv[4]) # Local variables # sh = None agol = None usercontent = None folderId = None proxy_port = None proxy_url = None # Logic # if folderId == "": folderId = None if baseURL is None or \ baseURL == "": baseURL = "https://www.arcgis.com/sharing/rest" sh = arcrest.AGOLTokenSecurityHandler(username=username, password=password) agol = arcrest.manageorg.Administration(url=baseURL, securityHandler=sh) usercontent = agol.content.usercontent(username) if isinstance(usercontent, arcrest.manageorg.administration._content.UserContent): pass res = usercontent.addItem(itemParameters=None, filePath=filePath, overwrite=True, folder=folderId) arcpy.SetParameterAsText(5, str(res)) except arcpy.ExecuteError: line, filename, synerror = trace() arcpy.AddError("error on line: %s" % line) arcpy.AddError("error in file name: %s" % filename) arcpy.AddError("with error message: %s" % synerror) arcpy.AddError("ArcPy Error Message: %s" % arcpy.GetMessages(2)) except FunctionError, f_e: messages = f_e.args[0] arcpy.AddError("error in function: %s" % messages["function"]) arcpy.AddError("error on line: %s" % messages["line"]) arcpy.AddError("error in file name: %s" % messages["filename"]) arcpy.AddError("with error message: %s" % messages["synerror"]) arcpy.AddError("ArcPy Error Message: %s" % messages["arc"])
def main(*argv): """ main driver of program """ try: # Inputs # adminUsername = argv[0] adminPassword = argv[1] siteURL = argv[2] groupTitle = argv[3] groupTags = argv[4] description = argv[5] access = argv[6] # Logic # # Connect to the site # sh = arcrest.AGOLTokenSecurityHandler(adminUsername, adminPassword) admin = arcrest.manageorg.Administration(url=siteURL, securityHandler=sh, initialize=True) community = admin.community # Create Group # res = community.createGroup(title=groupTitle, tags=groupTags, description=description, snippet="", phone="", access=access, sortField="title", sortOrder="asc", isViewOnly=False, isInvitationOnly=False, thumbnail=None) arcpy.SetParameterAsText(7, str(res)) except arcpy.ExecuteError: line, filename, synerror = trace() arcpy.AddError("error on line: %s" % line) arcpy.AddError("error in file name: %s" % filename) arcpy.AddError("with error message: %s" % synerror) arcpy.AddError("ArcPy Error Message: %s" % arcpy.GetMessages(2)) except FunctionError, f_e: messages = f_e.args[0] arcpy.AddError("error in function: %s" % messages["function"]) arcpy.AddError("error on line: %s" % messages["line"]) arcpy.AddError("error in file name: %s" % messages["filename"]) arcpy.AddError("with error message: %s" % messages["synerror"]) arcpy.AddError("ArcPy Error Message: %s" % messages["arc"])
def main(): username = "" password = "" proxy_url = "" proxy_port = "" org_url = "" sh = arcrest.AGOLTokenSecurityHandler(username=username, password=password, org_url=org_url, proxy_port=proxy_port, proxy_url=proxy_url) users = ["",""] # List of users credits = 2320 # number of credits to assign to users admin = arcrest.manageorg.Administration(securityHandler=shh.securityhandler) portalself = admin.portals.portalSelf return portalself.assignUserCredits(usernames=users,credits=credits)
def __init__(self, username, password, org_url=None, token_url=None, proxy_url=None, proxy_port=None): """Constructor""" self._org_url = org_url self._username = username self._password = password self._proxy_url = proxy_url self._proxy_port = proxy_port self._token_url = token_url if self._org_url is None or self._org_url == '': self._org_url = 'http://www.arcgis.com' if self._org_url is None or '.arcgis.com' in self._org_url: self._securityHandler = arcrest.AGOLTokenSecurityHandler( username=self._username, password=self._password, org_url=self._org_url, token_url=self._token_url, proxy_url=self._proxy_url, proxy_port=self._proxy_port) token = self._securityHandler.token #if 'error' in self._securityHandler.message and token is None: #if self._securityHandler.message['error']['code'] == 400: #self._securityHandler = arcrest.OAuthSecurityHandler(client_id='', #secret_id='', #org_url=self._org_url, #proxy_url=self._proxy_url, #proxy_port=self._proxy_port) #token = self._securityHandler.token else: self._securityHandler = arcrest.PortalTokenSecurityHandler( username=self._username, password=self._password, org_url=self._org_url, proxy_url=self._proxy_url, proxy_port=self._proxy_port) token = self._securityHandler.token
def main(*argv): """ main driver of program """ try: # Inputs # adminUsername = argv[0] adminPassword = argv[1] siteURL = argv[2] groupName = argv[3] # Logic # sh = arcrest.AGOLTokenSecurityHandler(adminUsername, adminPassword) admin = arcrest.manageorg.Administration(securityHandler=sh) community = admin.community g = community.getGroupIDs(groupNames=[groupName]) if len(g) == 0: arcpy.AddWarning("No Group Exists with That Name %s" % groupName) arcpy.SetParameterAsText(4, False) elif len(g) == 1: groups = community.groups groups.deleteGroup(groupId=g[0]) arcpy.AddWarning("%s was erased." % groupName) arcpy.SetParameterAsText(4, True) else: arcpy.AddError( "Multiple group names found, please manually delete!") arcpy.SetParameterAsText(4, False) except arcpy.ExecuteError: line, filename, synerror = trace() arcpy.AddError("error on line: %s" % line) arcpy.AddError("error in file name: %s" % filename) arcpy.AddError("with error message: %s" % synerror) arcpy.AddError("ArcPy Error Message: %s" % arcpy.GetMessages(2)) except FunctionError, f_e: messages = f_e.args[0] arcpy.AddError("error in function: %s" % messages["function"]) arcpy.AddError("error on line: %s" % messages["line"]) arcpy.AddError("error in file name: %s" % messages["filename"]) arcpy.AddError("with error message: %s" % messages["synerror"]) arcpy.AddError("ArcPy Error Message: %s" % messages["arc"])
def main(*argv): """ main driver of program """ try: adminUsername = argv[0] adminPassword = argv[1] siteURL = argv[2] username = argv[3] groupName = argv[4] # Logic # # Connect to AGOL # sh = arcrest.AGOLTokenSecurityHandler(adminUsername, adminPassword) admin = arcrest.manageorg.Administration(securityHandler=sh) # Get the group ID # community = admin.community groupId = community.getGroupIDs(groupNames=[groupName])[0] # Add the User to the Group # group = community.groups res = group.addUsersToGroups(users=username, groupId=groupId) if len(res['notAdded']) == 0: arcpy.SetParameterAsText(5, True) else: arcpy.SetParameterAsText(5, False) except arcpy.ExecuteError: line, filename, synerror = trace() arcpy.AddError("error on line: %s" % line) arcpy.AddError("error in file name: %s" % filename) arcpy.AddError("with error message: %s" % synerror) arcpy.AddError("ArcPy Error Message: %s" % arcpy.GetMessages(2)) except FunctionError, f_e: messages = f_e.args[0] arcpy.AddError("error in function: %s" % messages["function"]) arcpy.AddError("error on line: %s" % messages["line"]) arcpy.AddError("error in file name: %s" % messages["filename"]) arcpy.AddError("with error message: %s" % messages["synerror"]) arcpy.AddError("ArcPy Error Message: %s" % messages["arc"])
def main(*argv): """ main driver of program """ try: # Inputs # adminUsername = argv[0] adminPassword = argv[1] siteURL = argv[2] username = argv[3] itemId = argv[4] folderId = argv[5] # Logic # sh = arcrest.AGOLTokenSecurityHandler(adminUsername, adminPassword) admin = arcrest.manageorg.Administration(url=siteURL, securityHandler=sh) content = admin.content #if isinstance(content, arcrest.manageorg._content.Content): pass usercontent = content.usercontent(username=username) if folderId is None or \ folderId == "": res = usercontent.deleteItem(item_id=itemId) else: res = usercontent.deleteItem(item_id=itemId, folder=folderId) arcpy.SetParameterAsText(6, str(res)) except arcpy.ExecuteError: line, filename, synerror = trace() arcpy.AddError("error on line: %s" % line) arcpy.AddError("error in file name: %s" % filename) arcpy.AddError("with error message: %s" % synerror) arcpy.AddError("ArcPy Error Message: %s" % arcpy.GetMessages(2)) except FunctionError, f_e: messages = f_e.args[0] arcpy.AddError("error in function: %s" % messages["function"]) arcpy.AddError("error on line: %s" % messages["line"]) arcpy.AddError("error in file name: %s" % messages["filename"]) arcpy.AddError("with error message: %s" % messages["synerror"]) arcpy.AddError("ArcPy Error Message: %s" % messages["arc"])
def main(*argv): """ main driver of program """ try: adminUsername = argv[0] adminPassword = argv[1] siteURL = argv[2] deleteUser = argv[3] # Logic # sh = arcrest.AGOLTokenSecurityHandler(adminUsername, adminPassword) admin = arcrest.manageorg.Administration(securityHandler=sh) community = admin.community user = community.user res = user.deleteUser(username=deleteUser) if res.has_key('success'): arcpy.SetParameterAsText(4, str(res['success']).lower() == "true") else: arcpy.SetParameterAsText(4, False) del sh del admin del community del user del res except arcpy.ExecuteError: line, filename, synerror = trace() arcpy.AddError("error on line: %s" % line) arcpy.AddError("error in file name: %s" % filename) arcpy.AddError("with error message: %s" % synerror) arcpy.AddError("ArcPy Error Message: %s" % arcpy.GetMessages(2)) except FunctionError, f_e: messages = f_e.args[0] arcpy.AddError("error in function: %s" % messages["function"]) arcpy.AddError("error on line: %s" % messages["line"]) arcpy.AddError("error in file name: %s" % messages["filename"]) arcpy.AddError("with error message: %s" % messages["synerror"]) arcpy.AddError("ArcPy Error Message: %s" % messages["arc"])
"visibility": True, "url": "http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer" }], "title": "Topographic" }, "spatialReference": { "wkid": 102100, "latestWkid": 3857 }, "version": "2.0" } securityHandler = arcrest.AGOLTokenSecurityHandler(username, password) # Create the administration connection # admin = arcrest.manageorg.Administration(url, securityHandler) # Access the content properties to add the item # content = admin.content # Get the user # user = content.users.user() # Provide the item parameters # itemParams = arcrest.manageorg.ItemParameter() itemParams.title = "MY FIRST WEB MAP" itemParams.thumbnailurl = "http://its.ucsc.edu/software/images/arcgis.jpg" itemParams.type = "Web Map"
def main(*argv): """ main driver of program """ try: adminUsername = str(argv[0]) adminPassword = str(argv[1]) baseURL = str(argv[2]) #"https://www.arcgis.com/sharing/rest"# inviteSubject = str(argv[3]) inviteEmail = str(argv[4]) newUserName = argv[5] firstName = argv[6] lastName = argv[7] password = argv[8] email = argv[9] account_role = argv[10] # Local Variables # isAdded = True # Logic # # Access AGOL # sh = arcrest.AGOLTokenSecurityHandler(adminUsername, adminPassword) userInvite = arcrest.manageorg.UserInvite(username=newUserName, password=password, firstName=firstName, lastName=lastName, email=email, role=account_role) admin = arcrest.manageorg.Administration(securityHandler=sh, initialize=True) # Get the Org ID # community = admin.community user = community.user userDetails = user.user(username=adminUsername) orgID = userDetails['orgId'] # Access the Admin's Portal to Add User # portal = admin.portals(portalId=orgID) # Validate the username to ensure it's free # If it is not, raise error, else continue res = community.checkUserName(newUserName) if res['usernames'][0]['suggested'] != res['usernames'][0]['requested']: arcpy.AddError("Username %s is already taken" % newUserName) del community # Add the User # res = portal.inviteUser(invitationList=userInvite, html="welcome to the group", subject="user invite to AGOL") for msg in res['notInvited']: arcpy.AddWarning("%s was not invited" % msg) isAdded = False del sh del portal del res arcpy.SetParameterAsText(11, isAdded) except arcpy.ExecuteError: line, filename, synerror = trace() arcpy.AddError("error on line: %s" % line) arcpy.AddError("error in file name: %s" % filename) arcpy.AddError("with error message: %s" % synerror) arcpy.AddError("ArcPy Error Message: %s" % arcpy.GetMessages(2)) except FunctionError, f_e: messages = f_e.args[0] arcpy.AddError("error in function: %s" % messages["function"]) arcpy.AddError("error on line: %s" % messages["line"]) arcpy.AddError("error in file name: %s" % messages["filename"]) arcpy.AddError("with error message: %s" % messages["synerror"]) arcpy.AddError("ArcPy Error Message: %s" % messages["arc"])
def __init__(self, username, password, org_url=None, token_url=None, proxy_url=None, proxy_port=None): """Constructor""" self._org_url = org_url self._username = username self._password = password self._proxy_url = proxy_url self._proxy_port = proxy_port self._token_url = token_url if self._org_url is None or self._org_url == '': self._org_url = 'http://www.arcgis.com' if self._username == "" or self._password == "": self._message = "No username or password, no security handler generated" self._valid = True else: if self._org_url is None or '.arcgis.com' in self._org_url: self._securityHandler = arcrest.AGOLTokenSecurityHandler( username=self._username, password=self._password, org_url=self._org_url, token_url=self._token_url, proxy_url=self._proxy_url, proxy_port=self._proxy_port) token = self._securityHandler.token #if self._securityHandler.message['error']['code'] == 400: #self._securityHandler = arcrest.OAuthSecurityHandler(client_id='', #secret_id='', #org_url=self._org_url, #proxy_url=self._proxy_url, #proxy_port=self._proxy_port) #token = self._securityHandler.token else: self._securityHandler = arcrest.PortalTokenSecurityHandler( username=self._username, password=self._password, org_url=self._org_url, proxy_url=self._proxy_url, proxy_port=self._proxy_port) token = self._securityHandler.token #if 'error' in self._securityHandler.message and token is None: #if self._securityHandler.message['error']== 401: #self._securityHandler = arcrest.OAuthSecurityHandler(client_id='s5CKlHcJoNSm07TP', #secret_id='6015feb0f44c4a5fa00e1e9486de8c48', #org_url=self._org_url, #proxy_url=self._proxy_url, #proxy_port=self._proxy_port) #token = self._securityHandler.token if 'error' in self._securityHandler.message and token is None: self._message = self._securityHandler.message self._valid = False else: self._message = self._securityHandler.message self._valid = True
def __init__(self, username, password, org_url=None, token_url=None, proxy_url=None, proxy_port=None): """Constructor""" self._org_url = org_url self._username = username self._password = password self._proxy_url = proxy_url self._proxy_port = proxy_port self._token_url = token_url if self._org_url is None or self._org_url == '': self._org_url = 'http://www.arcgis.com' if self._username == "" or self._password == "": self._message = "No username or password, no security handler generated" self._valid = True else: if self._org_url is None or '.arcgis.com' in self._org_url: self._securityHandler = arcrest.AGOLTokenSecurityHandler( username=self._username, password=self._password, org_url=self._org_url, token_url=self._token_url, proxy_url=self._proxy_url, proxy_port=self._proxy_port) token = self._securityHandler.token #if self._securityHandler.message['error']['code'] == 400: #self._securityHandler = arcrest.OAuthSecurityHandler(client_id='', #secret_id='', #org_url=self._org_url, #proxy_url=self._proxy_url, #proxy_port=self._proxy_port) #token = self._securityHandler.token else: self._securityHandler = arcrest.PortalTokenSecurityHandler( username=self._username, password=self._password, org_url=self._org_url, proxy_url=self._proxy_url, proxy_port=self._proxy_port) token = self._securityHandler.token admin = arcrest.manageorg.Administration( url=self._org_url, securityHandler=self._securityHandler) hostingServers = admin.hostingServers() for hostingServer in hostingServers: serData = hostingServer.data serData dataItems = serData.rootDataItems if 'rootItems' in dataItems: for rootItem in dataItems['rootItems']: if rootItem == '/enterpriseDatabases': rootItems = serData.findDataItems( ancestorPath=rootItem, type='fgdb,egdb') if not rootItems is None and 'items' in rootItems: for item in rootItems['items']: if 'info' in item: if 'isManaged' in item[ 'info'] and item['info'][ 'isManaged'] == True: conStrDic = {} conStr = item['info'][ 'connectionString'].split( ";") for conStrValue in conStr: spltval = conStrValue.split( "=") conStrDic[spltval[ 0]] = spltval[1] if 'DBCLIENT' in conStrDic: if str( conStrDic[ 'DBCLIENT'] ).upper( ) == 'postgresql'.upper(): self._featureServiceFieldCase = 'lower' #if 'error' in self._securityHandler.message and token is None: #if self._securityHandler.message['error']== 401: #self._securityHandler = arcrest.OAuthSecurityHandler(client_id='s5CKlHcJoNSm07TP', #secret_id='6015feb0f44c4a5fa00e1e9486de8c48', #org_url=self._org_url, #proxy_url=self._proxy_url, #proxy_port=self._proxy_port) #token = self._securityHandler.token if 'error' in self._securityHandler.message and token is None: self._message = self._securityHandler.message self._valid = False else: self._message = self._securityHandler.message self._valid = True
password = "******" sh = None agol = None usercontent = None folderId = None proxy_port = None proxy_url = None baseURL = None fs = MapService(url=url) for serviceLayer in fs.layers: if serviceLayer.type == "Feature Layer": print "Adding: " + serviceLayer.name if baseURL is None or baseURL == "": baseURL = "https://www.arcgis.com/sharing/rest" sh = arcrest.AGOLTokenSecurityHandler(username='******', password='******') agol = arcrest.manageorg.Administration(url=baseURL, securityHandler=sh) usercontent = agol.content.usercontent('ScottMoorePNW') if isinstance( usercontent, arcrest.manageorg.administration._content.UserContent): pass #create an ArcPy Extent Object so we can reproject it to 4326 (lat/long) layerExtent = arcpy.Extent(serviceLayer.extent.get('xmin'), serviceLayer.extent.get('ymin'), serviceLayer.extent.get('xmax'), serviceLayer.extent.get('ymax')) try: layerExtent.spatialReference = arcpy.SpatialReference(
import arcrest sh = arcrest.AGOLTokenSecurityHandler("user", "password") admin = arcrest.manageorg.Administration(securityHandler=sh) user = admin.content.users.user() ip = arcrest.manageorg.ItemParameter() ip.title = "MyGeoJSONTestFile" ip.type = "GeoJson" ip.tags = "Geo1,Geo2" ip.description = "Publishing a geojson file" addedItem = user.addItem(itemParameters=ip, filePath=r"c:\temp3\states2.geojson") itemId = addedItem['id'] pp = arcrest.manageorg.PublishGeoJSONParameter() pp.name = "Geojsonrocks" pp.hasStaticData = True print user.publishItem(fileType="geojson", publishParameters=pp, itemId=itemId)
from __future__ import print_function from __future__ import absolute_import import arcrest if __name__ == "__main__": sh = arcrest.AGOLTokenSecurityHandler(username="******", password="******") admin = arcrest.manageorg.Administration(securityHandler=sh) user = admin.content.users.user() ip = arcrest.manageorg.ItemParameter() ip.title = "A very large fgdb" ip.type = "File Geodatabase" ip.tags = "fgdb" ip.description = "description" ip.snippet = "snippet" res = user.addItem( itemParameters=ip, filePath=r"C:\temp3\40a87ec04f334df8bd92d9842f19570f.zip", multipart=True) # the result object is a UserItem object, not JSON. This is for version 3.5.3/3.5.4