API มีประโยชน์อย่างยิ่งในการใช้บริการหรือคุณลักษณะในแอปพลิเคชัน API ช่วยสร้างการเชื่อมต่อระหว่างเซิร์ฟเวอร์และไคลเอนต์ ดังนั้นเมื่อใดก็ตามที่ไคลเอนต์ส่งคำขอโดยใช้หนึ่งในวิธี API ไปยังเซิร์ฟเวอร์ เซิร์ฟเวอร์จะตอบกลับด้วยรหัสสถานะ (201 เป็นการตอบกลับที่สำเร็จ) ไปยังไคลเอนต์พี>
คุณสามารถส่งคำขอไปยัง API ใดก็ได้ที่คุณต้องการโดยใช้วิธีใดวิธีหนึ่ง (GET, POST, PUT หรือ DELETE) อย่างไรก็ตาม หากคุณต้องการสร้างแอปพลิเคชันที่คุณต้องการร้องขอไปยังเซิร์ฟเวอร์โดยใช้หนึ่งใน API ที่เปิดเผยต่อสาธารณะ (เช่น Cat Facts API ) จากนั้นคุณสามารถใช้ คำขอ โมดูลในไลบรารี Python
ในแอปพลิเคชันต่อไปนี้ เราจะสร้างกล่องข้อความซึ่งจะแสดงการตอบกลับ (ข้อความ) ดึงมาจากเซิร์ฟเวอร์โดยใช้หนึ่งใน Cat Facts API คุณจะต้องตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งคำขอ .แล้ว โมดูลในสภาพแวดล้อมของคุณ ในการติดตั้งคำขอ โมดูล คุณสามารถใช้คำสั่งต่อไปนี้
pip install requests
เมื่อติดตั้งโมดูลคำขอสำเร็จแล้ว คุณสามารถทำตามขั้นตอนด้านล่างเพื่อสร้างแอปพลิเคชัน -
-
นำเข้าไลบรารีที่จำเป็นทั้งหมด
-
สร้างวิดเจ็ตข้อความในแอปพลิเคชันเพื่อแสดงการตอบกลับทั้งหมดที่ดึงมาจากเซิร์ฟเวอร์ (คำขอ GET)
-
สร้าง var เพื่อจัดเก็บ URL ของ API
-
กำหนดฟังก์ชันเพื่อเรียก API และดึงการตอบสนอง JSON โดยแยก "ข้อเท็จจริง" จากเนื้อหาการตอบสนอง
-
อัปเดต ข้อความ วิดเจ็ตที่มีการตอบกลับโดยลบข้อเท็จจริงที่มีอยู่และแทรกข้อเท็จจริงใหม่
-
สร้างปุ่ม (ถัดไปและออก) เพื่อโหลดข้อมูล Cat แบบสุ่มได้อย่างลงตัว
ตัวอย่าง
# Import the required libraries from tkinter import * import requests import json # Create an instance of tkinter frame win = Tk() win.geometry("700x350") win.title("Cat Fact API ") # Create a text box to display the response body text = Text(win, height=10, width=50, wrap="word") text.config(font="Arial, 12") # Create a label widget label = Label(win, text="Cat Facts") label.config(font="Calibri, 14") # Add the API URL api_url = "https://catfact.ninja/fact" # Define a function to retrieve the response # and text attribute from the JSON response def get_zen(): response = requests.get(api_url).text response_info = json.loads(response) Fact = response_info["fact"] text.delete('1.0', END) text.insert(END, Fact) # Create Next and Exit Button b1 = Button(win, text="Next", command=get_zen) b2 = Button(win, text="Exit", command=win.destroy) label.pack() text.pack() b1.pack() b2.pack() get_zen() win.mainloop()
ผลลัพธ์
คลิกปุ่ม "ถัดไป " เพื่อดึงข้อมูล Cat แบบสุ่มถัดไป คุณยังสามารถคลิกปุ่ม "ออก ปุ่ม " เพื่อออกจากหน้าต่างแอปพลิเคชัน tkinter