Files
Gainsight/Scripts/API_Tests/get_course_ids.py

79 lines
2.1 KiB
Python
Raw Normal View History

import Apikeys
import requests
import pprint
import csv
pp = pprint.PrettyPrinter(indent=4)
APIKEY = Apikeys.WALMARTPROD
HEADERS = {
"accept": "application/json",
"X-Api-Key": APIKEY,
}
"""
COURSES = [
"Build a Product Analytics Dashboard",
"FullStory 101",
"FullStory 201",
"FullStory Quick Wins",
"Integrations %26 APIs",
"Page Flows %26 Pages",
"Private by Default",
"Privacy in FullStory",
"Product Analytics in FullStory",
"Using Page Flow Cards",
"Using Conversions",
"Using Dashboards",
"Using Defined Events",
"Using Metrics",
"Using Funnels",
"Using Segments %26 Funnels Together",
"FullStory for Marketers",
"FullStory for Product Managers",
"FullStory for Customer Support",
"FullStory for Engineers",
"FullStory for Account Management",
"Product Analytics in FullStory",
]
"""
def get_courses():
"""
Function to get courses and their IDs
"""
count = 0
list_of_ids = []
while True:
# for course_name in COURSES:
count += 1
# url = f"https://api.northpass.com/v2/courses/?filter[name][eq]={course_name}"
url = f"https://api2.northpass.com/v2/courses/?limit=100&page={count}"
response = requests.get(url, headers=HEADERS)
response = response.json()
nextlink = response["links"]
for item in response["data"]:
cname = item['attributes']['name']
# print(item["id"])
idict = {item["attributes"]["name"]: item["id"]}
# id = item["id"]
# name = item["attributes"]["name"]
list_of_ids.append(idict)
if "next" not in nextlink:
break
pp.pprint(list_of_ids)
# print(len(list_of_ids))
with open(
"/Users/normrasmussen/Downloads/Spark-Courses.csv", "a+", newline='\n'
) as csvfile:
for group in list_of_ids:
for key, value in group.items():
csvwriter = csv.writer(csvfile)
csvwriter.writerow([key, value])
if __name__ == "__main__":
get_courses()