原文:https://github.com/aitorcalero/arcgis-online-python-scripts/blob/master/AGOLOrg_03.py

使用python脚本来操作portal,其实在使用javaScript的时候,也可以用类似的方式,以供参考:

import httplib
import urllib
import json
import time
import getpass
import Tkinter, Tkconstants, tkFileDialog
 
#
# Script that generates a set of groups in ArcGIS Online from a list in a txt file
#
 
# Open Group File
def openGroupFileDialog():
root = Tkinter.Tk()
return tkFileDialog.askopenfilename(filetypes = (("Txt File","*.txt"),("All Files","*.*")))
 
# Generate Token
def generateToken(portal,username,password):
parameters = urllib.urlencode({'username': username, 'password': password, 'client':'requestip','f':'json'})
request = portal + '/sharing/rest/generateToken?'
response = json.loads(urllib.urlopen(request, parameters).read())
 
if not 'token' in response:
print "Bad user or password"
exit()
 
token = response['token']
tokenExpires = response['expires']
tokenExpiresReadable = time.strftime('%Y-%m-%d %I:%M:%S %p (%Z)', time.localtime(tokenExpires/1000))
print "Token generated. Expires " +tokenExpiresReadable
return token
 
# Create group
def createGroup(portal, groupTitle, groupDescription, token):
params = urllib.urlencode({'title': groupTitle,
'description': groupDescription,
'tags':'destacado,contenido,demo,esri,spain', #TODO list of properties per group
'access':'org', 'token': token, 'f':'json'})
request = portal + '/sharing/rest/community/createGroup?'
response = json.loads(urllib.urlopen(request, params).read())
data = urllib.urlopen(request, params).read()
 
print "Group " + groupTitle +" created"
 
# add Items to the organizations
def addItemsToGroup(portal, groupID, items, token):
params = urllib.urlencode({'groups': groupID, 'token': token, 'f':'json'})
for item in items:
request = portal + '/sharing/rest/content/items/' + item + '/share'
response = json.loads(urllib.urlopen(request, params).read())
print "Added Item #" + item
 
# Get organization ID
def getOrganizationId(portal, token):
params = urllib.urlencode({'token': token, 'f':'json'})
request = portal + '/sharing/rest/portals/self?'
response = json.loads(urllib.urlopen(request, params).read())
myID = response['id']
print "Org ID: " + myID
return myID
 
# Change organization properties
def setOrganizationProperties(portal, organizationId, properties,token):
properties['token'] = token
properties['f'] = 'json'
params = urllib.urlencode(properties)
request = portal + '/sharing/rest/portals/' + organizationId + '/update?'
response = json.loads(urllib.urlopen(request, params).read())
 
def readGroupsFromTxt(path):
grupo = [line.strip() for line in open(path)]
return grupo
 
 
#
# Program Start
#
def main():
portal = 'https://www.arcgis.com'
 
# Ask named user credentials
username = ''
customer = ''
customer = raw_input("Customer Name [{0}]: ".format(customer)) or customer
username = raw_input("Username [{0}]: ".format(username)) or username
password = getpass.getpass() or raw_input("Password [{0}]: ".format("fomentofomento"))
 
# Generate Token
token = generateToken(portal,username,password)
 
grupos = readGroupsFromTxt(openGroupFileDialog())
# Create groups
for grupo in grupos:
print grupo
groupID = createGroup(portal, grupo,
'Grupo de ' + grupo + ' del ' + customer, token)
 
print "Done"
 

main()

arcgis-online-python-scripts相关推荐

  1. 第一章 ArcGIS Pro python高级脚本教程介绍

    文章的很多内容来自于ESRI出版的 Advanced Python Scripting for ArcGIS Pro 一书,该书也提供了实验数据与免费的PDF书籍,可以通过官网链接下载. 不想仅仅做一 ...

  2. arcgis下的python编程-面向ArcGIS的Python脚本编程

    面向arcgis的python脚本编程是一本指导ArcGIS for Desktop专业用户进行Python开发的指南,本书将教会您如何通过编写Python代码处理空间数据并在ArcGIS中自动化实现 ...

  3. 基于arcgis的python脚本编程视频-面向ArcGIS的Python脚本编程 PDF 高清版

    给大家带来的一篇关于Python相关的电子书资源,介绍了关于ArcGIS.Python.脚本编程方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小49.9 MB,Paul编写,目前豆瓣.亚 ...

  4. arcgis下的python编程-基于ArcGIS的Python编程秘笈(第2版)

    基于ArcGIS的Python编程秘笈(第2版) 译者简介 审阅人简介 1 面向ArcGIS的Python语言基础 1.1 使用IDLE进行Python脚本开发 1.1.1 Python Shell窗 ...

  5. 运行pip list报错:Fatal error in launcher: Unable to create process using...python\Scripts\pip.exe list

    文章目录 更新 今天重装了电脑,将python系统变量添加了,但是pip打不开 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 更新下pip就好了- - python -m pip i ...

  6. python 脚本将视频转化成图片 | python scripts to convert video to pictures

    python 脚本将视频转化成图片 | python scripts to convert video to pictures python video_to_images.py 运行时,修改输入.输 ...

  7. python for arcgis_面向ArcGIS的Python脚本编程 ([美]赞德伯根) 中文pdf扫描版[50MB]

    Python作为一种高级程序设计语言,凭借其简洁.易读及可扩展性日渐成为程序设计领域备受推崇的语言.使用Python作为ArcGIS的脚本语言将大大提升ArcGIS数据处理的效率,更好地实现ArcGI ...

  8. arcgis工具python源码_面向Arcgis的python脚本编程_数据

    [实例简介] <面向ArcGIS的Python脚本编程>是一本指导ArcGIS for Desktop专业用户进行Python开发的指南.该书将教会您如何通过编写Python代码处理空间数 ...

  9. arcgis的python接口_arcgis-Python的ArcGIS API-Esri Screenshots

    作者:Esri ### 作者邮箱:python@esri.com ### 首页:https://developers.arcgis.com/python/ ### 文档:None ### 下载链接 # ...

  10. 《基于ArcGIS的Python编程秘笈(第2版)》——第1章 面向ArcGIS的Python语言基础

    本节书摘来自异步社区<基于ArcGIS的Python编程秘笈(第2版)>一书中的第1章,第1.1节,作者: [美]Eric Pimpler(派普勒) 更多章节内容可以访问云栖社区" ...

最新文章

  1. 自学python推荐书籍2019-2019最强Python书单!
  2. python读文件每一行、并把这行替换-Python按行读文件
  3. noe4j 多层关系查询
  4. 关于socket组播和ssdp(二)
  5. 微机笔记6——输入输出控制
  6. Eclipse 安装 Fatjar.jar失败的解决方法
  7. for update引发了血案
  8. 稞麦显示无法连接服务器,Modern Ops无法连接服务器是什么原因
  9. UltraCompare v21.00分析
  10. 沁恒微USB蓝牙单片机CH573F初步熟悉
  11. Java中涉及到金钱计算方法
  12. 第三方支付平台:微信支付接口
  13. 图像处理——中值滤波
  14. cad和html5哪个好,最好用的5个CAD软件 你用的是哪款呢
  15. 【信号处理】内插器原理和MATLAB仿真
  16. Unirech阿里云国际版云服务器ecs的应用场景有哪些?
  17. 在Ubuntu16.04 中安装g2o并运行g2o_viewer
  18. JavaFx - 按下Button 一直触发按钮事件
  19. centos8.5 Vsftpd 搭建FTP服务器
  20. Word模板文件,替换内容 文本、图片、表格、列表、区块、嵌套等

热门文章

  1. 计算机网络实验(华为eNSP模拟器)——第八章 动态主机配置协议(DHCP)
  2. 数据结构题:根据所给权值设计相应的哈夫曼树,并设计哈夫曼编码
  3. c语言删除文件第一行_ElasticSearch 文档的删除和批量操作
  4. MySQL服务MySQL+MHA高可用服务集群搭建
  5. 华为S5700系列交换机配置文件导出、导入
  6. 一个详细的JTable使用例子
  7. mysql记录相互关系查询_MySQL关系表查询两个表的数据
  8. ajax拿table里的th值,Jquery Ajax 异步设置Table中某列的值
  9. php 数据库 加载图片,图片显示不出来,但是数据库里有显示
  10. java 创建文件夹的方法_Java创建文件夹的方法