Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Viết chương trình Python tương tác với Meraki Dashboard API (P.3 )

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Viết chương trình Python tương tác với Meraki Dashboard API (P.3 )

    3/ Chương trình meraki,py và kết quả thực thi

    3.1/ Chương trình meraki.py:

    import json
    import requests

    # 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']})

    # 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']})

    # 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

  • #2
    # Hàm thực hiện lấy thông tin cảu thiết bị được chỉ định
    def Get_device_information(API_KEY_Reader,id_netw,list _serial_device):

    # Hiển thị thông tin của các device
    for i in range(0,len(list_serial_device)):
    print(f"{i+1:2}. Name: {list_serial_device[i]['name']:30} Serial: {list_serial_device[i]['serial']:25} Mac: {list_serial_device[i]['mac']:25} Model: {list_serial_device[i]['model']}")
    id_in = input("Moi chon device: ")

    # Lấy serial của device được chọn
    serial_device = list_serial_device[int(id_in)-1]['serial']

    # Lấy thông tin device từ serial trên
    url = f'https://api.meraki.com/api/v1/networks/{id_netw}/devices/{serial_device}'
    header = {
    'X-Cisco-Meraki-API-Key': API_KEY_Reader
    }
    response = requests.get(url, headers=header)
    data = response.json()
    # Đinh dạng và hiển thị thông tin của device
    print(json.dumps(data,indent=4))

    # API Key mặc định dùng dể lấy thông tin
    API_KEY_Reader = '6bec40cf957de430a6f1f2baa056b99a4fac9ea0'

    # Tạo 1 list rỗng, list này sẽ chứa id,name của các organization
    list_id_or = []
    # Tạo 1 list rỗng, list này sẽ chứa id,name của các network từ 1 organization
    list_id_netw = []
    # Tạo 1 list rỗng, list này sẽ chứa serial,name,mac,model của các device từ 1 network
    list_serial_device = []

    #Thực hiện gọi hàm List_the_organizations() truyền vào API key và list_id_or
    List_the_organizations(API_KEY_Reader,list_id_or)

    #Thực hiện gọi hàm List_the_networks_in_an_organization() truyền vào API key, list_id_or, list_id_netw
    List_the_networks_in_an_organization(API_KEY_Reade r,list_id_or,list_id_netw)

    #Hàm List_the_devices_in_a_network() sẽ trả về id của 1 network đã được chọn, gán giá trị vào biến id_network
    id_network = List_the_devices_in_a_network(API_KEY_Reader,list_ id_netw,list_serial_device)

    #Thực hiện gọi hàm Get_device_information() truyền vào API key, id_network và list_serial_device
    Get_device_information(API_KEY_Reader,id_network,l ist_serial_device)



    3.2/ Kết quả thực thi chương trình:









    Comment

    Working...
    X