โปรดทำตามขั้นตอนที่จำเป็นในการเรียกใช้ 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
ได้