日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

arcgis-online-python-scripts

發布時間:2024/1/23 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 arcgis-online-python-scripts 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文: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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。