179 lines
6.3 KiB
Python
179 lines
6.3 KiB
Python
|
|
import requests
|
||
|
|
import json
|
||
|
|
import Apikeys
|
||
|
|
import pandas as pd
|
||
|
|
|
||
|
|
BASEURL = "https://api.northpass.com"
|
||
|
|
APIKEY = Apikeys.ANTHOLOGY
|
||
|
|
HEADERS = {
|
||
|
|
"accept": "*/*",
|
||
|
|
"X-Api-Key": APIKEY,
|
||
|
|
"content-type": "application/json",
|
||
|
|
}
|
||
|
|
BASEFILE = "~/Downloads/Anthology-DomainMaster-forWorkato - Sheet1.csv"
|
||
|
|
|
||
|
|
|
||
|
|
def get_ppl():
|
||
|
|
count = 0
|
||
|
|
tmpdict = {}
|
||
|
|
while True:
|
||
|
|
count += 1
|
||
|
|
url = f"{BASEURL}/v2/people?limit=100&page={count}"
|
||
|
|
getppl = requests.get(url, headers=HEADERS)
|
||
|
|
ppl_response = getppl.json()
|
||
|
|
nextlink = ppl_response["links"]
|
||
|
|
|
||
|
|
for people in ppl_response["data"]:
|
||
|
|
if "2024-07-09" in people["attributes"]["created_at"]:
|
||
|
|
domain = people["attributes"]["email"].split("@")[1]
|
||
|
|
if domain in tmpdict:
|
||
|
|
tmpdict[domain].append(people["id"])
|
||
|
|
else:
|
||
|
|
tmpdict[domain] = [people["id"]]
|
||
|
|
|
||
|
|
if "next" not in nextlink:
|
||
|
|
break
|
||
|
|
|
||
|
|
print(tmpdict)
|
||
|
|
apply_groups(tmpdict)
|
||
|
|
|
||
|
|
|
||
|
|
def apply_groups(tmpdict):
|
||
|
|
df = pd.read_csv(BASEFILE, index_col=None, header=None)
|
||
|
|
for domain, values in tmpdict.items():
|
||
|
|
data = df.loc[df[0] == domain].iloc[:, 1:].values.tolist()
|
||
|
|
cleaned = [x for x in data[0] if str(x) != "nan"]
|
||
|
|
# print(cleaned)
|
||
|
|
payload = {"payload": {"person_ids": values, "group_ids": cleaned}}
|
||
|
|
url = f"{BASEURL}/v2/bulk/people/membership"
|
||
|
|
response = requests.post(url, json=payload, headers=HEADERS)
|
||
|
|
print(response.text)
|
||
|
|
print(response.status_code)
|
||
|
|
|
||
|
|
|
||
|
|
if __name__ == "__main__":
|
||
|
|
get_ppl()
|
||
|
|
|
||
|
|
|
||
|
|
"""
|
||
|
|
|
||
|
|
GROUPSTOMAP = {
|
||
|
|
"stlukescollege.edu": [
|
||
|
|
"2b5267b2-ce87-4e77-ad88-5cfec80496b9",
|
||
|
|
"5f35e542-a8cf-4422-8e87-466cdca62864",
|
||
|
|
"fa8914be-0986-460c-884d-9973a9622045",
|
||
|
|
"106775db-a00d-4956-bf27-97ea269bb001",
|
||
|
|
"b9f734fa-de0d-4a0b-9ce2-c092126e1d8d",
|
||
|
|
],
|
||
|
|
"cuhk.edu.hk": [
|
||
|
|
"8302b674-c728-42d2-9ba3-908b4d970436",
|
||
|
|
"604dd8b8-175a-4a74-93d2-28760f1d1835",
|
||
|
|
"2b5267b2-ce87-4e77-ad88-5cfec80496b9",
|
||
|
|
],
|
||
|
|
"allencollege.edu": [
|
||
|
|
"2b5267b2-ce87-4e77-ad88-5cfec80496b9",
|
||
|
|
"8302b674-c728-42d2-9ba3-908b4d970436",
|
||
|
|
"5f35e542-a8cf-4422-8e87-466cdca62864",
|
||
|
|
"fa8914be-0986-460c-884d-9973a9622045",
|
||
|
|
"",
|
||
|
|
"b9f734fa-de0d-4a0b-9ce2-c092126e1d8d",
|
||
|
|
"106775db-a00d-4956-bf27-97ea269bb001",
|
||
|
|
],
|
||
|
|
"trinitycollegeqc.edu": [
|
||
|
|
"2b5267b2-ce87-4e77-ad88-5cfec80496b9",
|
||
|
|
"5f35e542-a8cf-4422-8e87-466cdca62864",
|
||
|
|
"fa8914be-0986-460c-884d-9973a9622045",
|
||
|
|
"106775db-a00d-4956-bf27-97ea269bb001",
|
||
|
|
"b9f734fa-de0d-4a0b-9ce2-c092126e1d8d",
|
||
|
|
],
|
||
|
|
"southuniversity.edu": [
|
||
|
|
"2b5267b2-ce87-4e77-ad88-5cfec80496b9",
|
||
|
|
"bfb708e4-18eb-47b5-afde-737f16721e9a",
|
||
|
|
"5f35e542-a8cf-4422-8e87-466cdca62864",
|
||
|
|
"106775db-a00d-4956-bf27-97ea269bb001",
|
||
|
|
],
|
||
|
|
"pcom.edu": [
|
||
|
|
"2b5267b2-ce87-4e77-ad88-5cfec80496b9",
|
||
|
|
"197da27d-0497-40b5-b2f8-cec4124d32f6",
|
||
|
|
"bfb708e4-18eb-47b5-afde-737f16721e9a",
|
||
|
|
"8302b674-c728-42d2-9ba3-908b4d970436",
|
||
|
|
],
|
||
|
|
"msun.edu": [
|
||
|
|
"2b5267b2-ce87-4e77-ad88-5cfec80496b9",
|
||
|
|
"e53216bf-9815-42c7-89c1-953a7b1289a3",
|
||
|
|
"fa8914be-0986-460c-884d-9973a9622045",
|
||
|
|
"b9f734fa-de0d-4a0b-9ce2-c092126e1d8d",
|
||
|
|
],
|
||
|
|
"mainecc.edu": [
|
||
|
|
"2b5267b2-ce87-4e77-ad88-5cfec80496b9",
|
||
|
|
"197da27d-0497-40b5-b2f8-cec4124d32f6",
|
||
|
|
"f7701275-cebc-482b-ac31-9cfcd93937c3",
|
||
|
|
"59ccfdeb-8a8a-4693-b4fa-27034192071c",
|
||
|
|
"849f1551-604a-4b5c-9b5d-e2771eed488c",
|
||
|
|
"cf5d1920-9618-43f3-8dac-53954d19a956",
|
||
|
|
"d8d7bdba-46cf-4d16-b136-2b5f60eee073",
|
||
|
|
"5f35e542-a8cf-4422-8e87-466cdca62864",
|
||
|
|
"55bae3db-5f62-4be3-823a-bcb429b8a2b2",
|
||
|
|
"fa8914be-0986-460c-884d-9973a9622045",
|
||
|
|
"b9f734fa-de0d-4a0b-9ce2-c092126e1d8d",
|
||
|
|
"448f3335-cf11-4e7a-9939-c734861d16e3",
|
||
|
|
"106775db-a00d-4956-bf27-97ea269bb001",
|
||
|
|
"594cd6c0-17db-4241-be56-ad28a8db4f7b",
|
||
|
|
"95f7b67d-3ba8-4d18-bcbb-3e02f7bfaf7a",
|
||
|
|
],
|
||
|
|
"mccneb.edu": [
|
||
|
|
"2b5267b2-ce87-4e77-ad88-5cfec80496b9",
|
||
|
|
"f7701275-cebc-482b-ac31-9cfcd93937c3",
|
||
|
|
"fcfe4ee2-b247-4244-8cfc-f3d98d219fea",
|
||
|
|
"c6b6d415-323e-46c1-859e-be86fd36ec48",
|
||
|
|
"125acb85-889b-4638-a6bb-6eda8e761b08",
|
||
|
|
],
|
||
|
|
"mtu.edu": [],
|
||
|
|
"stchas.edu": [
|
||
|
|
"2b5267b2-ce87-4e77-ad88-5cfec80496b9",
|
||
|
|
"197da27d-0497-40b5-b2f8-cec4124d32f6",
|
||
|
|
"3b149bfe-31c5-4991-bd6c-ba4c760089d4",
|
||
|
|
"b6ae5e37-db6a-4b79-949f-be73b216f677",
|
||
|
|
"bfb708e4-18eb-47b5-afde-737f16721e9a",
|
||
|
|
"f02032d3-3d60-4cb1-acac-855c229646c3",
|
||
|
|
"59ccfdeb-8a8a-4693-b4fa-27034192071c",
|
||
|
|
"849f1551-604a-4b5c-9b5d-e2771eed488c",
|
||
|
|
"4d0bf08e-3dda-4a2e-8213-72a020873a03",
|
||
|
|
"e48c8995-6a64-45c1-ae62-ba96fcc01542",
|
||
|
|
"84d32175-8cb8-4fb0-95cc-6ae13d40aaaa",
|
||
|
|
"27489e34-b04c-410e-99a2-0d93e2e42fbf",
|
||
|
|
"5f35e542-a8cf-4422-8e87-466cdca62864",
|
||
|
|
"f50cb362-2f86-44eb-89e6-bea6ecbaf89f",
|
||
|
|
"fa8914be-0986-460c-884d-9973a9622045",
|
||
|
|
"b9f734fa-de0d-4a0b-9ce2-c092126e1d8d",
|
||
|
|
"106775db-a00d-4956-bf27-97ea269bb001",
|
||
|
|
"594cd6c0-17db-4241-be56-ad28a8db4f7b",
|
||
|
|
],
|
||
|
|
"gveltec.edu": [
|
||
|
|
"3f8dc68e-1458-4199-9641-6781960e085e",
|
||
|
|
"8585fe89-a050-4dbb-beb8-6ebd7358a970",
|
||
|
|
"2b5267b2-ce87-4e77-ad88-5cfec80496b9",
|
||
|
|
"197da27d-0497-40b5-b2f8-cec4124d32f6",
|
||
|
|
"a031d9a8-e433-45cf-826a-8881644f8eac",
|
||
|
|
"3b149bfe-31c5-4991-bd6c-ba4c760089d4",
|
||
|
|
"59ccfdeb-8a8a-4693-b4fa-27034192071c",
|
||
|
|
"849f1551-604a-4b5c-9b5d-e2771eed488c",
|
||
|
|
"4d0bf08e-3dda-4a2e-8213-72a020873a03",
|
||
|
|
"e48c8995-6a64-45c1-ae62-ba96fcc01542",
|
||
|
|
"8302b674-c728-42d2-9ba3-908b4d970436",
|
||
|
|
"604dd8b8-175a-4a74-93d2-28760f1d1835",
|
||
|
|
"26c5277c-440a-4dea-b625-beb986cff673",
|
||
|
|
"1ef34494-4d48-4b69-9819-a22c5870fc24",
|
||
|
|
"84d32175-8cb8-4fb0-95cc-6ae13d40aaaa",
|
||
|
|
"27489e34-b04c-410e-99a2-0d93e2e42fbf",
|
||
|
|
"e5e8565f-80e2-4462-b687-56f6d64f95e4",
|
||
|
|
"5f35e542-a8cf-4422-8e87-466cdca62864",
|
||
|
|
"853de4bd-6f6a-4d1d-980a-b67eb1b0e876",
|
||
|
|
"fa8914be-0986-460c-884d-9973a9622045",
|
||
|
|
"106775db-a00d-4956-bf27-97ea269bb001",
|
||
|
|
"fa8914be-0986-460c-884d-9973a9622045",
|
||
|
|
"106775db-a00d-4956-bf27-97ea269bb001",
|
||
|
|
],
|
||
|
|
}
|
||
|
|
"""
|