Google Sheets Provider
Create a provider to consume data from Google Sheets inside Insights for ArcGIS
Overview
Insights for ArcGIS can connect to any data source using the provider patter. This project includes an example Koop provider compatiable with Insights for ArcGIS. Javascript is used to create an express web server, which includes web service that knows how to communicate with Google Sheets.
Dependencies
- NodeJS
Instructions
Installation
git clone https://github.com/ArcGIS/google-sheets-provider.git
cd google-sheets-provider
npm install
Configuration
- Obtain an API Key for Google Sheets - instructions
- Add the api key to you configuration
- option 1: edit config/default.json and replace the value under googlesheets.auth with your api key
- option 2: before running your server add your auth to your environment e.g.
export GOOGLESHEETS_AUTH=YOUR_KEY
Startup
npm start
After npm start
you should see something like this:
> node server.js
info: registered output: Geoservices 1.1.1
No root directory was specified, defaulting to: /Users/foobar/koop/providers/google-sheets
info: registered filesystem: localfs 1.1.1
info: registered provider: googlesheets 1.0.0
Koop Trimet Provider listening on 3000
For more docs visit: https://koopjs.github.io/docs/specs/provider/
To find providers visit: https://www.npmjs.com/search?q=koop+provider
Try it out in your browswer: http://localhost:3000/googlesheets/1JlPaiuIHXmkfpLBaQdoRixPSasjX5NlDte70pyFT9yI/Park%20Cleanup!A1:H/FeatureServer/0/query
Or on the command line: curl --silent http://localhost:3000/googlesheets/1JlPaiuIHXmkfpLBaQdoRixPSasjX5NlDte70pyFT9yI/Park%20Cleanup!A1:H/FeatureServer/0/query?returnCountOnly=true
Press control + c to exit
Deployment
You have 3 deployment options.
Option 1 - This is a good option if you do not have Portal for ArcGIS staged in a place for development.
- Create an NOW account, which enables free hosting of SSL NodeJS services
- Download and install NOW
- From inside the
google-sheets-provider
runnow
in your terminal - You will end up with this provider being hosted in NOWs free cloud
Option 2 - Arrage to have NodeJS installed on your 10.5+ Portal for ArcGIS machine
- Make sure port 3000 is open and NodeJS is installed
- Copy files to your machine with Portal for ArcGIS
- Follow the instructions above
Option 3 - Access a web access machine and deploy the project files
- Make sure port 3000 is open and NodeJS is installed
- Copy files to the web accessable machine
- Follow the instructions above
Getting Started
Once the Google Sheets provider is running, read below on how to bring this content into portal.
Add Provider to Portal for ArcGIS
- Log into portal as a publisher or admin
- Click
My Content -> Add Item -> From the web
- Complete the form as follows:
Type: ArcGIS Server Web Service
Url: https://googlesheets-provider-hkrquwqwvp.now.sh/googlesheets/1JlPaiuIHXmkfpLBaQdoRixPSasjX5NlDte70pyFT9yI/Park%20Cleanup!A1:H/FeatureServer/0
Title: Google Sheets
Tags: Park Cleanup, Insights, Provider
Add Provider to Insights
- Log into Insights for ArcGIS
- Click
New Workbook
- Browse for
Google Sheets
and select - Click Add
Other Useful Information
If you do not have the flexibility to deploy the project to a development environment, feel free to try out the sample below.