module Josef::GoogleWorkspace::Client

Public Instance Methods

authorize!() click to toggle source
# File lib/josef/google_workspace/client.rb, line 26
def authorize!
  authorization = Google::Auth::ServiceAccountCredentials.make_creds(
    json_key_io: File.open(credential_path),
    scope: SCOPE)

  authorization.sub = actor
  authorization
end
client() click to toggle source
# File lib/josef/google_workspace/client.rb, line 14
def client
  @_client ||= client!
end
client!() click to toggle source
# File lib/josef/google_workspace/client.rb, line 18
def client!
  service = Google::Apis::AdminDirectoryV1::DirectoryService.new
  service.authorization = authorize!
  service.authorization.fetch_access_token!

  service
end