class Auth
Public Class Methods
new(client_id, client_secret)
click to toggle source
# File lib/arcgis_vrps/auth.rb, line 5 def initialize(client_id, client_secret) if client_id.nil? || client_id.empty? || client_secret.nil? || client_secret.empty? raise ArgumentError, "Both Client ID & Client Secret has to be set" end @client_id = client_id @client_secret = client_secret end
Public Instance Methods
generateToken()
click to toggle source
# File lib/arcgis_vrps/auth.rb, line 14 def generateToken begin url = "https://www.arcgis.com/sharing/rest/oauth2/token" escaped_url = URI.encode(url) uri = URI.parse(escaped_url) req = Net::HTTP::Post.new(uri.to_s) # Expiration is set to 20160 minutes = 2 weeks req.set_form_data( f: 'json', client_id: @client_id, client_secret: @client_secret, grant_type: 'client_credentials', expiration: 20160 ) http = Net::HTTP.new(uri.hostname, uri.port) http.use_ssl = true res = http.request(req) token = JSON.parse(res.body)['access_token'] puts "\n"+res.body return token rescue => e puts "==== Error in generating token: " puts e end end