กำหนด request headers
API หลายตัวกำหนดให้ผู้ใช้ต้องมี API key ซึ่งได้มาจากการลงทะเบียนใช้งาน โดยปกติ key จะถูกส่งผ่าน request header แทนที่จะส่งเป็น parameter
เอกสาร Yelp API ระบุว่า "ในการยืนยันตัวตนสำหรับการเรียก API ด้วย API Key ให้ตั้งค่า HTTP header Authorization เป็น Bearer api_key"
ในแบบฝึกหัดนี้ จะสร้าง dictionary เพื่อส่งข้อมูลนี้ไปยัง get() จากนั้นเรียก API เพื่อดึงข้อมูลร้านกาแฟที่ได้รับการให้คะแนนสูงสุดในนิวยอร์ก และแปลงข้อมูล response
pandas (นำเข้าเป็น pd) และ requests ถูกโหลดไว้แล้ว endpoint ของ API ถูกเก็บไว้ในตัวแปร api_url และ key อยู่ในตัวแปร api_key ส่วน parameter ต่าง ๆ อยู่ใน dictionary ชื่อ params
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การนำเข้าข้อมูลด้วย pandas อย่างมีประสิทธิภาพ
คำแนะนำการฝึกหัด
- สร้าง dictionary ชื่อ
headersโดยส่ง string ของ key ที่จัดรูปแบบแล้วไปยังค่า header"Authorization" - เรียก Yelp API (
api_url) ด้วยget()พร้อมระบุ headers และ parameters ที่จำเป็น แล้วบันทึกผลลัพธ์เป็นresponse - ดึงข้อมูล JSON จาก
responseและบันทึกผลลัพธ์เป็นdata - โหลดค่าจาก
"businesses"ในdataลง dataframe ชื่อcafesแล้วพิมพ์คอลัมน์names
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create dictionary that passes Authorization and key string
headers = {____: "Bearer {}".format(____)}
# Query the Yelp API with headers and params set
response = ____
# Extract JSON data from response
data = ____
# Load "businesses" values to a dataframe and print names
cafes = ____
print(cafes.name)