Yêu cầu: phải thực hiện lab “Hướng dẫn sử dụng Cisco Webex Teams và khai thác API trên Webex” trước khi thực hiện lab này.
Để có thể tương tác với Webex API, chúng ta cần có Personal Access Token do Webex cung cấp. Token này chỉ cần tạo tài khoản Webex cho developer và đăng nhập vào tài khoản, sau đó làm theo các bước như bên dưới để lấy được Token.
Lưu ý là Token này chỉ có thể sử dụng trong vòng 12 giờ, chỉ sử dụng cho mục đích trải nghiệm.
Sau khi đến tab Getting Started thì chúng ta sẽ tìm và nhấn nút copy token
Sau khi copy thì chúng ta sẽ tạo file python và paste đoạn token vào trong giá trị của biến access_token:
Lưu file tên Token.py và mở file python mới, import các thư viện và file Token.py.
Khai báo url mẫu:
Viết hàm để lấy thông tin các phòng của token, url để gửi đi sẽ bằng url mẫu khai báo ban đầu cộng thêm phần api là ‘rooms’, phần headers thì chứa token, phần thông số yêu cầu thông tin được sắp xếp theo từ khóa “lastactivity”. Sau đó chúng ta sử dụng requests get để lấy các thông tin, sau đó in ra mã trạng thái của phản hồi và trả về giá trị text mà server gửi trả lại.
Viết hàm gửi tin nhắn, chúng ta sẽ cho người dùng nhập tin nhắn muốn gửi và cho vào biến message. Phần body sẽ chứa 2 thông tin chính là người nhận tin nhắn và nội dung đoạn tin nhắn muốn gửi
Tiếp theo là đến phần menu() có thể chỉnh sửa tùy theo mong muốn, ý tưởng là in ra nội dung và cho người dùng chọn số để chạy chức năng của chương trình.
Cuối cùng là khai báo hàm main, ở đây ta sẽ sử dụng vòng lặp while luôn chạy cho đến khi gặp break (khi choice = 0), khi choice = 1 thì sẽ chạy chức năng lấy thông tin các phòng, khi choice = 2 thì sẽ chạy chức năng gửi tin nhắn.
Kết quả:
Khi chọn 1:
Khi chọn 2:
Ở đây chúng ta nhập nội dung tin muốn gửi đi, ví dụ như hello bot devnet
Để kiểm tra lại xem tin nhắn có thực sự gửi thành công hay chưa, ta có thể đăng nhập vào tài khoản devnet team
Như hình trên đã cho chúng ta thấy chắc chắn tin nhắn đã được gửi đến webex bot
Cuối cùng khi chọn 0 sẽ thoát chương trình:
Hoàn thành.
Thank you.
Để có thể tương tác với Webex API, chúng ta cần có Personal Access Token do Webex cung cấp. Token này chỉ cần tạo tài khoản Webex cho developer và đăng nhập vào tài khoản, sau đó làm theo các bước như bên dưới để lấy được Token.
Lưu ý là Token này chỉ có thể sử dụng trong vòng 12 giờ, chỉ sử dụng cho mục đích trải nghiệm.
Sau khi đến tab Getting Started thì chúng ta sẽ tìm và nhấn nút copy token
Sau khi copy thì chúng ta sẽ tạo file python và paste đoạn token vào trong giá trị của biến access_token:
Code:
access_token = “”
Code:
[FONT=Calibri][FONT=Times New Roman]import requests[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]import sys[/FONT][/FONT] [FONT=Times New Roman]import Token[/FONT]
Code:
url = "https://api.ciscospark.com/v1/"
Code:
[FONT=Calibri][FONT=Times New Roman]def get_room(url=url, access_token = Token.access_token):[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]url = url + 'rooms'[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]headers = {"Content-type" : "application/json", "Authorization" : "Bearer " + access_token}[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]queryParams = {"sortBy" : "lastactivity", "max" : "2"}[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]response = requests.get(url=url, headers=headers, params=queryParams)[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]print("Thong tin ve cac phong chat:")[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]print("Status: " + str(response.status_code))[/FONT][/FONT] [FONT=Times New Roman]return response.text[/FONT]
Code:
[FONT=Calibri][FONT=Times New Roman]def post_message(url=url, access_token = Token.access_token):[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]url = url + 'messages'[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]message = input("Nhap tin nhan muon gui:")[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]headers = {"Content-type" : "application/json", "Authorization" : "Bearer " + access_token}[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]body = {"toPersonEmail" : "hotuanhoanh8@webex.bot", "text" : "" + message}[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]response = requests.post(url=url, json=body, headers=headers)[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]print("Tin nhan dang gui di...")[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]print("Status: " + str(response.status_code))[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]if response.status_code == 200:[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]print("Tin nhan gui thanh cong")[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]else:[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]print("Xay ra loi")[/FONT][/FONT] [FONT=Times New Roman]return response.text[/FONT]
Code:
[FONT=Calibri][FONT=Times New Roman]def menu():[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]print("\n***************************************** *************\n")[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]print("\t\tBai thuc hanh Webex API\nChon chuc nang can thuc hien:")[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]print("1.Lay thong tin ve cac phong chat cua token vua nhap")[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]print("2.Gui tin nhan")[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]print("0.Thoat")[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]choice = int(input("Nhap so cua chuc nang muon chon:"))[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]print("\n=================================")[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]print("Dang xu ly")[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]print("=================================\n")[/FONT][/FONT] [FONT=Times New Roman]return choice[/FONT]
Code:
def main():
Code:
[FONT=Calibri][FONT=Times New Roman]while True:[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]choice = menu()[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]if choice == 0:[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]print("Thoat chuong trinh")[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]break[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]elif choice == 1:[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]result = get_room()[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]print(result)[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]elif choice == 2:[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]result = post_message()[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]print(result)[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]else:[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]print("Ban nhap so sai, moi chon lai")[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]print("========================================")[/FONT][/FONT] [FONT=Calibri][FONT=Times New Roman]if __name__ == '__main__':[/FONT][/FONT] [FONT=Times New Roman]sys.exit(main())[/FONT] [FONT=Calibri][FONT=Times New Roman][/FONT][/FONT]
Kết quả:
Khi chọn 1:
Khi chọn 2:
Ở đây chúng ta nhập nội dung tin muốn gửi đi, ví dụ như hello bot devnet
Để kiểm tra lại xem tin nhắn có thực sự gửi thành công hay chưa, ta có thể đăng nhập vào tài khoản devnet team
Như hình trên đã cho chúng ta thấy chắc chắn tin nhắn đã được gửi đến webex bot
Cuối cùng khi chọn 0 sẽ thoát chương trình:
Hoàn thành.
Thank you.
Nguồn : VNPRO