Các sản phẩm của Google Maps Platform được bảo vệ khỏi việc sử dụng trái phép bằng cách chỉ cho phép các lệnh gọi API cung cấp thông tin xác thực thích hợp. Các thông tin đăng nhập này có dạng khóa API – một chuỗi duy nhất gồm chữ và số liên kết Tài khoản thanh toán Google với dự án của bạn và với API hoặc SDK cụ thể.
Hướng dẫn này trình bày cách tạo, hạn chế và sử dụng Khoá API cho Nền tảng Google Maps.
Trước khi bắt đầu
Trước khi bắt đầu sử dụng Maps JavaScript API, bạn cần có một dự án có tài khoản thanh toán và đã bật API JavaScript cho Maps. Để tìm hiểu thêm, hãy xem phần Thiết lập trong Cloud Console.
Tạo khoá API
Khoá API là giá trị nhận dạng riêng biệt giúp xác thực các yêu cầu liên quan đến dự án của bạn vì mục đích sử dụng và thanh toán. Bạn phải có ít nhất một khoá API được liên kết với dự án của mình.
Cách tạo khoá API:
Bảng điều khiển
-
Truy cập vào trang gt;Thông tin xác thực của Google Maps.
-
Trên trang Thông tin đăng nhập, hãy nhấp vào Tạo thông tin xác thực > khoá API.
Hộp thoại đã tạo khoá API hiển thị khoá API bạn mới tạo. -
Nhấp vào Đóng.
Khóa API mới được liệt kê trên trang Thông tin xác thực trong Khóa API.
(Hãy nhớ hạn chế khoá API trước khi sử dụng trong bản phát hành chính thức.)
SDK đám mây
gcloud alpha services api-keys create \ --project "PROJECT" \ --display-name "DISPLAY_NAME"
Hãy đọc thêm về Google Cloud SDK , Cài đặt SDK đám mây và các lệnh sau:
Hạn chế các khoá API
Bạn rất nên hạn chế khoá API bằng cách chỉ sử dụng các API đó cho những API cần thiết cho ứng dụng. Việc hạn chế khoá API sẽ tăng cường bảo mật cho ứng dụng của bạn bằng cách bảo vệ ứng dụng khỏi các yêu cầu không được đảm bảo. Để biết thêm thông tin, hãy xem các phương pháp hay nhất về bảo mật API.
Cách hạn chế khoá API:
Bảng điều khiển
-
Truy cập vào trang gt;Thông tin xác thực của Google Maps.
- Chọn khoá API mà bạn muốn đặt hạn chế. Trang thuộc tính khoá API sẽ xuất hiện.
- Trong mục Key restrictions (Hạn chế cho khoá), hãy đặt các quy định hạn chế sau:
- Hạn chế ứng dụng:
- Để chấp nhận các yêu cầu trong danh sách các trang web bạn cung cấp, hãy chọn liên kết giới thiệu HTTP (trang web) từ danh sách Hạn chế về ứng dụng.
- Chỉ định một hoặc nhiều trang web giới thiệu. Các ký tự đại diện được chấp nhận để cho phép mọi miền con (ví dụ:
*.google.com
chấp nhận mọi trang web kết thúc bằng.google.com
). Chỉ địnhhttps://
vàhttp://
nguyên trạng. Bạn phải dùng một phương thức biểu thị đặc biệt cho các loại giao thức URL tham chiếu khác. Ví dụ: định dạngfile:///path/to/
là__file_url__//path/to/*
. Sau khi bật tính năng giới thiệu, hãy đảm bảo rằng bạn đã theo dõi mức sử dụng của mình sao cho phù hợp với kỳ vọng của bạn. Các giao thức tham chiếu sau đây được hỗ trợ:about://, app://, applewebdata://, asset://, chrome://, content://, file://, ftp://, ionic://, local://, ms-appx://, ms-appx-web://, ms-local-stream://, prism://, qrc://, res://, saphtmlp://
. - Các hạn chế về API:
- Nhấp vào Hạn chế khoá.
- Chọn Maps JavaScript API trong trình đơn thả xuống Chọn API. Nếu API JavaScript của Maps không có trong danh sách, bạn cần bật API JavaScript.
- Nếu dự án của bạn sử dụng Thư viện địa điểm, hãy chọn cả API Địa điểm. Tương tự, nếu dự án của bạn sử dụng các dịch vụ khác trong API JavaScript (Dịch vụ chỉ đường, Dịch vụ ma trận khoảng cách, Dịch vụ độ cao và/hoặc Dịch vụ mã hóa địa lý), thì bạn cũng phải bật và chọn API tương ứng trong danh sách này.
- Để hoàn tất các thay đổi, hãy nhấp vào Lưu.
SDK đám mây
Liệt kê các khóa hiện có.
gcloud services api-keys list --project="PROJECT"
Xóa các quy định hạn chế hiện có đối với khóa hiện có.
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --clear-restrictions
Đặt các quy định hạn chế mới đối với khoá hiện có.
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --api_target="maps-backend.googleapis.com" --allowed-referrers="referer
Hãy đọc thêm về Google Cloud SDK , Cài đặt SDK đám mây và các lệnh sau:
Thêm khoá API vào yêu cầu của bạn
Bạn phải bao gồm một khóa API với mỗi yêu cầu API JavaScript cho Maps.
Trong ví dụ sau, hãy thay thế YOUR_API_KEY
bằng khoá API.
<script async defer src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap"></script>
Bạn phải có HTTPS cho các yêu cầu sử dụng khóa API.