โปรดทำตามขั้นตอนที่จำเป็นในการเรียกใช้ Street View Publish API โดยทำตามขั้นตอนในบทแนะนำนี้
การเรียกใช้ HTTP
สามารถเรียก API ของ Street View โดยใช้เครื่องมือหลายอย่าง เช่น curl, wget และ Postman ในกรณีส่วนใหญ่ คุณจะต้องใช้ภาษาโปรแกรมที่คุณเลือกเพื่อสร้างแอปพลิเคชันไคลเอ็นต์ ที่ใช้ API อยู่ แต่บทแนะนำนี้จะ แนะนำคุณทีละขั้นตอน โดยให้คำแนะนำเกี่ยวกับ คำสั่งแต่ละรายการ
นอกจากนี้ เรายังมีไลบรารีของไคลเอ็นต์ให้คุณด้วย ต้องการเรียก HTTP โดยตรง
ข้อกำหนดเบื้องต้น
-
คุณต้องมีบัญชี Google เพื่อเข้าถึงคอนโซล Google API ขอคีย์ API และลงทะเบียนแอปพลิเคชัน
-
สร้างโปรเจ็กต์ใน Google Developers Console และรับข้อมูลรับรองการให้สิทธิ์ เพื่อให้แอปพลิเคชันของคุณสามารถส่งคำขอ API ได้
-
หลังจากสร้างโปรเจ็กต์ โปรดตรวจสอบว่า Street View Publish API เป็นบริการหนึ่งที่ลงทะเบียนแอปพลิเคชันของคุณเพื่อใช้ ดังนี้
- ไปที่คอนโซล API แล้วเลือกโปรเจ็กต์ที่คุณเพิ่งลงทะเบียน
- ไปที่หน้า API ที่เปิดใช้ ตรวจสอบว่า Google Street View API อยู่ในรายการ API ที่เปิดใช้แล้ว หากไม่ ให้เปิดไลบรารี API และเปิดใช้ API
-
อ่านคู่มือการตรวจสอบสิทธิ์เพื่อดูวิธีใช้การให้สิทธิ์ OAuth 2.0
-
ทำความคุ้นเคยกับแนวคิดหลักของรูปแบบข้อมูล JavaScript Object Notation (JSON) JSON เป็นรูปแบบข้อมูลทั่วไปที่ไม่ขึ้นอยู่กับภาษา โดยมีการนำเสนอแบบข้อความอย่างง่ายของโครงสร้างข้อมูลที่กำหนดเอง สำหรับข้อมูลเพิ่มเติม โปรดดู json.org
รับคีย์ API
สำหรับการตรวจสอบสิทธิ์และโควต้า คุณจะต้องใช้ Google Street View Publish API กับข้อมูลรับรองที่สร้างจาก Developers Console
- ไปที่ข้อมูลเข้าสู่ระบบ ใน Developers Console
- หากมีคีย์ API อยู่แล้ว คุณจะใช้ค่าจากคีย์ได้ หรือไม่เช่นนั้น สร้างคีย์ใหม่โดยเลือกคีย์ API จากเมนูข้อมูลเข้าสู่ระบบใหม่
รับโทเค็นเพื่อการเข้าถึง
- ไปที่ Google Developers OAuth 2.0 Playground
- คลิกเมนูการตั้งค่า (ไอคอนรูปเฟืองที่ด้านขวาบน) แล้วเลือกใช้ข้อมูลเข้าสู่ระบบ OAuth ของคุณเอง จากนั้นป้อน
Client IDและClient secretในช่องที่เกี่ยวข้อง แล้วคลิกปิด - ในส่วนขั้นตอนที่ 1: เลือกและ ให้สิทธิ์ API ป้อนขอบเขต API
https://www.googleapis.com/auth/streetviewpublishในช่องป้อนขอบเขตของคุณเอง แล้วคลิกให้สิทธิ์ API ต หน้าใหม่จะเปิดขึ้นเพื่อยืนยันว่าคุณต้องการให้สิทธิ์ API - คลิกรหัสการให้สิทธิ์ของ Exchange สำหรับโทเค็น การดำเนินการนี้จะเติมค่า โทเค็นเพื่อการเข้าถึง ซึ่งจะมีโทเค็นเพื่อการเข้าถึงที่จะใช้ใน ขั้นตอนถัดไป โทเค็นเพื่อการเข้าถึงจะหมดอายุใน 60 นาที คุณสามารถเลือกตัวเลือก รีเฟรชโทเค็นอัตโนมัติก่อนที่จะหมดอายุ ซึ่งจะสร้างโทเค็นใหม่
ส่งคำขอ HTTP
เมื่อมีคีย์ API และโทเค็นเพื่อการเข้าถึงแล้ว ให้เรียกใช้คำสั่งต่อไปนี้
ใน Shell เพื่อทำการเรียก HTTP ไปยังบริการ ในตัวอย่างด้านล่าง เรา
เรียกใช้เมธอด /v1/photo:startUpload
$ curl --request POST \ --url 'https://streetviewpublish.googleapis.com/v1/photo:startUpload?key=YOUR_API_KEY' \ --header 'authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'Content-Length: 0'
คำขอตัวอย่าง
หลังจากที่คุณพร้อมที่จะส่งคำขอ HTTP ข้างต้นแล้ว ให้ลองใช้ การโทรแบบต่างๆ จะแสดงอยู่ด้านล่าง
กำลังเรียกดูรายการรูปภาพของคุณ
$ curl --request GET \
--url 'https://streetviewpublish.googleapis.com/v1/photos?key=YOUR_API_KEY' \
--header 'authorization: Bearer YOUR_ACCESS_TOKEN'
กำลังโหลดรูปภาพ
$ curl --request GET \
--url 'https://streetviewpublish.googleapis.com/v1/photo/PHOTO_ID?key=YOUR_API_KEY' \
--header 'authorization: Bearer YOUR_ACCESS_TOKEN'
การอัปโหลดรูปภาพ
การสร้างรูปภาพต้องใช้การโทรแยกกัน 3 ครั้ง การเรียกครั้งแรกจะแสดง URL การอัปโหลด ซึ่งจะใช้ในการเรียกครั้งที่ 2 เพื่ออัปโหลดไบต์รูปภาพ หลังจากอัปโหลดไบต์รูปภาพแล้ว การเรียกครั้งที่ 3 จะอัปโหลดข้อมูลเมตาของรูปภาพ และส่งกลับบัตรประจำตัวที่มีรูปถ่าย
- ขอ URL การอัปโหลด
$ curl --request POST \ --url 'https://streetviewpublish.googleapis.com/v1/photo:startUpload?key=YOUR_API_KEY' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'Content-Length: 0'
- อัปโหลดไบต์รูปภาพไปยัง URL การอัปโหลด
$ curl --request POST \ --url 'UPLOAD_URL' \ --upload-file 'PATH_TO_FILE' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
- อัปโหลดข้อมูลเมตาของรูปภาพ
$ curl --request POST \ --url 'https://streetviewpublish.googleapis.com/v1/photo?key=YOUR_API_KEY' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'Content-Type: application/json' \ --data '{ "uploadReference": { "uploadUrl": "UPLOAD_URL" }, "pose": { "heading": 105.0, "latLngPair": { "latitude": 46.7512623, "longitude": -121.9376983 } }, "captureTime": { "seconds": 1483202694 }, }'
กำลังอัปเดตรูปภาพ
$ curl --request PUT \
--url 'https://streetviewpublish.googleapis.com/v1/photo/PHOTO_ID?key=YOUR_API_KEY&updateMask=pose.latLngPair' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"pose":
{
"latLngPair":
{
"latitude": 46.7512624,
"longitude": -121.9376982
}
}
}'
อัปเดตรูปภาพหลายรูปเป็นกลุ่ม
$ curl --request POST \
--url 'https://streetviewpublish.googleapis.com/v1/photos:batchUpdate?key=YOUR_API_KEY' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"updatePhotoRequests": [
{
"photo": {
"photoId": {
"id": "FIRST_PHOTO_ID"
},
"pose": {
"latLngPair": {
"latitude": 37.1701638,
"longitude": -122.3624387
}
}
},
"updateMask": "pose.latLngPair"
},
{
"photo": {
"photoId": {
"id": "SECOND_PHOTO_ID"
},
"pose": {
"latLngPair": {
"latitude": 37.1685704,
"longitude": -122.3618021
}
}
},
"updateMask": "pose.latLngPair"
}
]
}'
การลบรูปภาพ
$ curl --request DELETE \
--url 'https://streetviewpublish.googleapis.com/v1/photo/PHOTO_ID?key=YOUR_API_KEY' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
UpdateMask คืออะไร
updateMask คือวิธีทำให้คำขอมีขนาดเล็กหากคุณต้องการอัปเดตบางส่วน
ภาพถ่ายของคุณได้ทั้งหมด หากไม่มี updateMask คำขอของคุณจะอัปเดต
รูปภาพทั้งหมด หมายความว่าหากคุณไม่ได้ตั้งค่า updateMask และคำขอของคุณจะเป็น
ไม่มี pose ระบบจะล้าง pose ของรูปภาพของคุณ ค่าที่เป็นไปได้บางส่วน
สำหรับ updateMask คือ places, pose.heading, pose.latlngpair, pose.level,
connections คุณใส่ค่าที่คั่นด้วยคอมมาหลายค่าใน updateMask ได้