List of users and status in IICS using API

This python script lists out users , email and status from Informatica. You need to replace your username, password and informatica url.

import requests
import json
import sys
import datetime
import smtplib, ssl
from email.mime.base import MIMEBase
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

filename="userslist.txt"
username = ""
password = ""

current_timestamp = datetime.datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S')
with open(filename, 'w') as f:
  f.write(current_timestamp+'\n')

username = username
password = password

url = "https://dm-us.informaticacloud.com/saas/public/core/v3/login"

payload = json.dumps({
  "username": username,
  "password": password
})
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)
login=json.loads(response.text)
for i in login:
    if i=='userInfo':
        #print(i, ":", login[i])
        for a in login[i]:
            if a=="sessionId":
                sid=login[i][a]
import requests

url = "<INFORMATICAURL>/public/core/v3/users?limit=200"

payload = {}
headers = {
  'INFA-SESSION-ID': sid,
  'Accept': 'application/json'
}
response = requests.request("GET", url, headers=headers, data=payload)
#print(response.text)
data=response.json()
for u in data:
    print(u["userName"], u["state"], u["email"])
url = "<INFORMATICAURL>/public/core/v3/users?limit=200&skip=200"
response = requests.request("GET", url, headers=headers, data=payload)
#print(response.text)
data=response.json()
for u in data:
    print(u["userName"], u["state"], u["email"], u["lastLoginTime"])
url = "<INFORMATICAURL>/public/core/v3/users?limit=200&skip=400"
response = requests.request("GET", url, headers=headers, data=payload)
#print(response.text)
data=response.json()
for u in data:
    print(u["userName"], u["state"], u["email"], u["lastLoginTime"])
url = "<INFORMATICAURL>/public/core/v3/users?limit=200&skip=600"
response = requests.request("GET", url, headers=headers, data=payload)
#print(response.text)
data=response.json()
for u in data:
    print(u["userName"], u["state"], u["email"], u["lastLoginTime"])
url = "<INFORMATICAURL>/public/core/v3/users?limit=200&skip=800"
response = requests.request("GET", url, headers=headers, data=payload)
#print(response.text)
data=response.json()
for u in data:
    print(u["userName"], u["state"], u["email"], u["lastLoginTime"])
url = "<INFORMATICAURL>/public/core/v3/users?limit=200&skip=1000"
response = requests.request("GET", url, headers=headers, data=payload)
#print(response.text)
data=response.json()
for u in data:
    print(u["userName"], u["state"], u["email"], u["lastLoginTime"])
url = "<INFORMATICAURL>/public/core/v3/users?limit=200&skip=1200"
response = requests.request("GET", url, headers=headers, data=payload)
#print(response.text)
data=response.json()
for u in data:
    print(u["userName"], u["state"], u["email"], u["lastLoginTime"])

Comments