Thiết lập header cho request
Nhiều API yêu cầu người dùng cung cấp API key, lấy được sau khi đăng ký dịch vụ. Các key thường được truyền trong header của request, thay vì dưới dạng tham số.
Tài liệu Yelp API nêu: "Để xác thực các lệnh gọi API bằng API Key, đặt giá trị header HTTP Authorization là Bearer api_key."
Bạn sẽ tạo một dictionary để truyền thông tin này vào get(), gọi API để lấy danh sách quán cafe được đánh giá cao nhất ở NYC, và phân tích phản hồi.
pandas (viết tắt là pd) và requests đã được nạp. Endpoint API được lưu trong api_url, và key là api_key. Tham số nằm trong dictionary params.
Bài tập này là một phần của khóa học
Nạp dữ liệu gọn nhẹ với pandas
Hướng dẫn bài tập
- Tạo một dictionary
headersđể truyền chuỗi key đã định dạng vào giá trị header"Authorization". - Gửi truy vấn đến Yelp API (
api_url) bằngget()cùng các header và tham số cần thiết. Lưu kết quả vàoresponse. - Trích xuất dữ liệu JSON từ
response. Lưu vàodata. - Nạp các giá trị
"businesses"trongdatavào dataframecafesvà in cộtnames.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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)