2/ Lập trình python sử dụng thư viện Request để thực hiện:
+ Get the Organization ID
+ Get the networks in the organization
+ Get the devices in a network
+ Get device information
2.1/ Hàm List_the_organizations() - Get the Organization ID
# Hàm thực hiện lấy danh sách các organization
def List_the_organizations(API_KEY_Reader,list_id_or):
url = 'https://api.meraki.com/api/v1/organizations'
header = {
'X-Cisco-Meraki-API-Key': API_KEY_Reader
}
response = requests.get(url, headers=header)
data = response.json()
# Lưu thông tin gồm id và name của các organization vào list_id_or[]
for i in range(0,len(data)):
list_id_or.append({'id':data[i]['id'],
'name':data[i]['name']})
2.2/ Hàm List_the_networks_in_an_organization() - Get the networks in the organization
# Hàm thực hiện lấy danh sách các network từ 1 organization được chỉ định
def List_the_networks_in_an_organization(API_KEY_Reade r,list_id_or,list_id_netw):
# Hiển thị thông tin của các organization
for i in range(0,len(list_id_or)):
print(f"{i+1:2}. Name: {list_id_or[i]['name']:30} ID: {list_id_or[i]['id']}")
id_in = input("Moi chon organization: ")
# Lấy ID của organization được chọn
id = list_id_or[int(id_in)-1]['id']
# Lấy thông tin các network từ organization trên
url = f'https://api.meraki.com/api/v1/organizations/{id}/networks'
header = {
'X-Cisco-Meraki-API-Key': API_KEY_Reader
}
response = requests.get(url, headers=header)
data = response.json()
# Lưu thông tin gồm id và name của các network vào list_id_netw[]
for i in range(0,len(data)):
list_id_netw.append({'id':data[i]['id'],
'name':data[i]['name']})
2.3/ Hàm List_the_devices_in_a_network() - Get the devices in a network
# Hàm thực hiện lấy danh sách các thiết bị từ 1 network được chỉ định
def List_the_devices_in_a_network(API_KEY_Reader,list_ id_netw,list_serial_device):
# Hiển thị thông tin của các network
for i in range(0,len(list_id_netw)):
print(f"{i+1:2}. Name: {list_id_netw[i]['name']:30} ID: {list_id_netw[i]['id']}")
id_in = input("Moi chon network: ")
# Lấy ID của network được chọn
id_netw = list_id_netw[int(id_in)-1]['id']
# Lấy thông tin các device từ network trên
url = f'https://api.meraki.com/api/v1/networks/{id_netw}/devices'
header = {
'X-Cisco-Meraki-API-Key': API_KEY_Reader
}
response = requests.get(url, headers=header)
data = response.json()
# Lưu thông tin gồm name, serial, mac, model của các device vào list_serial_device[]
for i in range(0,len(data)):
list_serial_device.append({'name':data[i]['name'],
'serial':data[i]['serial'],
'mac':data[i]['mac'],
'model':data[i]['model']})
# Trả về ID của network được chọn
return id_netw
+ Get the Organization ID
+ Get the networks in the organization
+ Get the devices in a network
+ Get device information
2.1/ Hàm List_the_organizations() - Get the Organization ID
# Hàm thực hiện lấy danh sách các organization
def List_the_organizations(API_KEY_Reader,list_id_or):
url = 'https://api.meraki.com/api/v1/organizations'
header = {
'X-Cisco-Meraki-API-Key': API_KEY_Reader
}
response = requests.get(url, headers=header)
data = response.json()
# Lưu thông tin gồm id và name của các organization vào list_id_or[]
for i in range(0,len(data)):
list_id_or.append({'id':data[i]['id'],
'name':data[i]['name']})
2.2/ Hàm List_the_networks_in_an_organization() - Get the networks in the organization
# Hàm thực hiện lấy danh sách các network từ 1 organization được chỉ định
def List_the_networks_in_an_organization(API_KEY_Reade r,list_id_or,list_id_netw):
# Hiển thị thông tin của các organization
for i in range(0,len(list_id_or)):
print(f"{i+1:2}. Name: {list_id_or[i]['name']:30} ID: {list_id_or[i]['id']}")
id_in = input("Moi chon organization: ")
# Lấy ID của organization được chọn
id = list_id_or[int(id_in)-1]['id']
# Lấy thông tin các network từ organization trên
url = f'https://api.meraki.com/api/v1/organizations/{id}/networks'
header = {
'X-Cisco-Meraki-API-Key': API_KEY_Reader
}
response = requests.get(url, headers=header)
data = response.json()
# Lưu thông tin gồm id và name của các network vào list_id_netw[]
for i in range(0,len(data)):
list_id_netw.append({'id':data[i]['id'],
'name':data[i]['name']})
2.3/ Hàm List_the_devices_in_a_network() - Get the devices in a network
# Hàm thực hiện lấy danh sách các thiết bị từ 1 network được chỉ định
def List_the_devices_in_a_network(API_KEY_Reader,list_ id_netw,list_serial_device):
# Hiển thị thông tin của các network
for i in range(0,len(list_id_netw)):
print(f"{i+1:2}. Name: {list_id_netw[i]['name']:30} ID: {list_id_netw[i]['id']}")
id_in = input("Moi chon network: ")
# Lấy ID của network được chọn
id_netw = list_id_netw[int(id_in)-1]['id']
# Lấy thông tin các device từ network trên
url = f'https://api.meraki.com/api/v1/networks/{id_netw}/devices'
header = {
'X-Cisco-Meraki-API-Key': API_KEY_Reader
}
response = requests.get(url, headers=header)
data = response.json()
# Lưu thông tin gồm name, serial, mac, model của các device vào list_serial_device[]
for i in range(0,len(data)):
list_serial_device.append({'name':data[i]['name'],
'serial':data[i]['serial'],
'mac':data[i]['mac'],
'model':data[i]['model']})
# Trả về ID của network được chọn
return id_netw
Comment