Developer’s Guide to the ArcGIS Portal API, Esri, Julie Powell, Antoon Uijtdehaag
- 2. Developing with ArcGIS Online
• ArcGIS Portal API
- Portal, Content, Tasks, Hosted Services
• ArcGIS Web APIs
- Create fully customized web mapping applications
• ArcGIS Runtime SDKs
- Build applications for the desktop and mobile devices
• Develop an App from a webmap
• Configure and application template
- 3. ArcGIS Online Web maps
Can be used in many ways, in many applications, on many devices
Custom Applications
ArcMap
Web map
Mobile Apps Configurable App Templates
- 5. Turn web maps into Web apps
Publish
Choose a
Author Map Template
Share
- 6. ArcGIS Online Architecture for Developers
ArcGIS Server REST API ArcGIS Portal REST API
ArcGIS Online Respository
ArcGIS Online
ArcGIS Server
ArcGIS Server Map Services Search Community Content
- 7. ArcGIS Portal
• REST-based API to access and work with
- Users
- Groups
- Items
- 8. Working with the ArcGIS Portal REST API
Authent. Portal
Users Groups Items
Search Community Content
- 9. Portals
• /portals/self - Portal Info
- /sharing/rest/portals/self
• Languages and Regions
- /sharing/rest/portals/languages
• Manage
• File Resources
• Users
• http://www.arcgis.com/apidocs/rest/?portals.html
- 10. Search
• Item Search
- /sharing/rest/search?q=<query>
- title, owner, type, tags, description, created/modified…
- E.g. +type:”Web Map” –title:test
• User Search
- /sharing/rest/community/users?q=<query>
- username, description, tags, …
- E.g. +fullname:”Andrea Rosso”
• Group Search
- /sharing/rest/community/groups?q=<query>
- title, owner, description, tags, created/modified…
- E.g. +title:”My Maps” +owner:arosso_t1
• http://www.arcgis.com/apidocs/rest/?searchreference.html
- 11. Community
• Groups
- Manage
- /sharing/rest/community/groups/<groupid>
- Invite/Apply
- /sharing/rest/community/groups/<groupid>/applications
• Users
- Manage
- /sharing/rest/community/users/<username>
- Notifications
- /sharing/rest/community/users/<username>/notifications
• http://www.arcgis.com/apidocs/rest/?community.html
- 12. Content
• Item
- /sharing/rest/content/items/<itemId>
• User Content
- /sharing/rest/content/users/<username>
• Manage Items
• Folders
• Relationships
• Share/Unshare Items
• Ratings and Comments
• Group Content
• Analyze/Generate
• http://www.arcgis.com/apidocs/rest/?content.html
- 13. Adding Items
• addItem
• /sharing/rest/content/users/<userid>/addItem
- Synchronous
- Asynchronous
- Multi-Part
• http://www.arcgis.com/apidocs/rest/?additem.html
- 15. Authentication
• An application connects to Online / Portal as either :
• an anonymous user or
• an authenticated user
• Using credentials for the user
• The application see’s what the user is privileged to see
• The user may be part of an organizational subscription
• generateToken API call lets an App get a short term token in
exchange for credentials over https
• Apps should use Identity Manager control in client SDKs
• see Security Flows section
- 16. Security Flows
• There are different kinds of Apps :
• Apps that allow Users to access secure content that
belongs to the Users
• Apps that access secure content that belongs to the App
• hybrid
- 17. Apps that work with secured User Content
• Users trust the App
• it has access to their secure content
• Users need to login to their accounts by presenting
credentials to the Server
• Apps can use the Identity Managers in the client SDKs
• Identity Mgr takes care of communicating with the server’s
security Token Service over https and getting and renewing
tokens.
• All subsequent use and transmission of tokens, parameters
and resulting content must also be over https if the
organization has chosen the “all-SSL” option.
- 18. Apps that work with secured App content
• App has its own credentials that it needs to communicate with the
server.
• App credentials should not be exposed to end users
• Implies a server side flow for otherwise client side web apps
• App can use a server side proxy configured with app credentials
• proxy responsible for getting and renewing short term tokens using
credentials over https
• All subsequent requests also over https as needed
• Proxy should be secured to the App
• by Referer
• by a server side App Session ID maintained by the App
Editor's Notes
- 1. JS – SHP demo: http://help.arcgis.com/en/webapi/javascript/arcgis/help/jssamples_start.htm2. (Mark’s demo) Publish shp file, index (register) AGS services3. (Matthias demo) Catalog public & private items from AGO Org account4. Python – create weekly report of new items