บทแนะนำนี้จะแสดงวิธีสร้างและแก้ไขข้อมูลตำแหน่ง My Business Information API ช่วยให้คุณทำสิ่งต่อไปนี้ได้
- สร้างสถานที่ตั้งใหม่
- ลบตำแหน่ง
- ดูตำแหน่งตามชื่อทรัพยากร
- แสดงสถานที่ตั้งทั้งหมดของบัญชี
- อัปเดตช่องอย่างน้อย 1 ช่องสําหรับสถานที่
สถานที่ตั้งจะใช้ใน Google Ads ได้ แต่ต้องได้รับการยืนยันก่อนจึงจะมีสิทธิ์ปรากฏใน Search และ Maps ข้อมูลตำแหน่งจะแสดงโดยคอลเล็กชัน accounts.locations
ก่อนเริ่มต้น
ก่อนที่จะใช้ My Business Information API คุณต้องลงทะเบียนแอปพลิเคชันและรับข้อมูลเข้าสู่ระบบ OAuth 2.0 โปรดดูรายละเอียดเกี่ยวกับวิธีเริ่มต้นใช้งาน My Business Information API ที่การตั้งค่าพื้นฐาน
สร้างสถานที่
คุณใช้ My Business Information API เพื่อสร้างสถานที่ตั้งใหม่สำหรับธุรกิจได้ด้วย accounts.locations.create
ในการสร้างตำแหน่ง ให้ใช้แท็กต่อไปนี้
POST https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?requestId=requestId&validateOnly=True|False { "storeCode": "GOOG-SYD", "languageCode": "en-AU", "title": "Google Sydney", "phoneNumbers": { "primaryPhone": "02 9374 4000" } "storefrontAddress": { "addressLines": [ "Level 5", "48 Pirrama Road" ], "locality": "Pyrmont", "postalCode": "2009", "administrativeArea": "NSW", "regionCode": "AU" }, "websiteUri": "https://www.google.com.au/", "regularHours": { "periods": [ { "openDay": "MONDAY", "closeDay": "MONDAY", "openTime": "09:00", "closeTime": "17:00" }, { "openDay": "TUESDAY", "closeDay": "TUESDAY", "openTime": "09:00", "closeTime": "17:00" }, { "openDay": "WEDNESDAY", "closeDay": "WEDNESDAY", "openTime": "09:00", "closeTime": "17:00" }, { "openDay": "THURSDAY", "closeDay": "THURSDAY", "openTime": "09:00", "closeTime": "17:00" }, { "openDay": "FRIDAY", "closeDay": "FRIDAY", "openTime": "09:00", "closeTime": "17:00" } ] }, "categories": { "primaryCategory": { "name": "gcid:software_company" } } }
ลบตำแหน่ง
คุณจะใช้ My Business Information API เพื่อลบสถานที่ที่มี locations.delete ได้
หากต้องการลบตำแหน่ง ให้ใช้การตั้งค่าต่อไปนี้
DELETE https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}
ดูตำแหน่งตามชื่อ
หากคุณมีธุรกิจหลายแห่งที่เชื่อมโยงกับบัญชีของคุณ คุณอาจต้องการมีสถานที่เพียงแห่งเดียว คุณสามารถกรองตามชื่อธุรกิจเพื่อดูสถานที่ตั้งที่เฉพาะเจาะจงด้วย locations.get
หากต้องการหาตำแหน่งตามชื่อ ให้ใช้รายการต่อไปนี้ คุณต้องระบุ ReadMask เพื่อเรียกข้อมูลช่องที่ต้องการ :
GET https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?readMask={commaSeparatedFieldsToRetrieve}
แสดงเวอร์ชันของ Google Maps
หากต้องการส่งคืนตำแหน่งในเวอร์ชัน Google Maps ให้เพิ่ม googleUpdated
ต่อท้าย URL ของคำขอ ตามตัวอย่างต่อไปนี้
GET https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}:googleUpdated?readMask={commaSeparatedFieldsToRetrieve}
หากไม่มีผลลัพธ์ ระบบจะแสดงรหัสสถานะ HTTP 404 NOT FOUND
ดูรายละเอียดเพิ่มเติมเกี่ยวกับการจัดการการอัปเดตจาก Google ได้ที่นี่
แสดงรายการตำแหน่งที่ตั้ง
เมื่อคุณจัดการสถานที่อย่างน้อย 1 แห่ง คุณอาจต้องการแสดงรายการสถานที่ทั้งหมดที่เชื่อมโยงกับบัญชีของคุณ ใช้ API accounts.locations.list เพื่อแสดงสถานที่ตั้งทั้งหมดที่เชื่อมโยงกับผู้ใช้
หากต้องการแสดงตำแหน่งทั้งหมดที่ผู้ใช้ซึ่งตรวจสอบสิทธิ์เป็นเจ้าของหรือจัดการโดยตรง ให้ใช้ข้อมูลต่อไปนี้
GET https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}
ใช้ไวลด์การ์ด '-'
สำหรับบัญชีใน URL คำขอเพื่อรวมข้อมูลที่เป็นเจ้าของโดยอ้อม (เป็นเจ้าของหรือจัดการผ่านกลุ่ม) ดังนี้
GET https://mybusinessbusinessinformation.googleapis.com/v1/accounts/-/locations?readMask={commaSeparatedFieldsToRetrieve}
กรองผลลัพธ์เมื่อคุณแสดงตำแหน่ง
คุณใช้ตัวกรองเพื่อจำกัดผลลัพธ์ที่แสดงเมื่อเรียกใช้ accounts.locations.list ได้ หากต้องการกรองคำขอ ให้เพิ่มนิพจน์ตัวกรองต่อท้าย URL ฐานตามที่แสดงในตัวอย่างนี้
GET https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter={FIELD_NAME}=%22{YOUR_QUERY}%22
ไวยากรณ์การค้นหาพื้นฐาน
ข้อจำกัดมีไวยากรณ์ต่อไปนี้: <field><operator><value>
โดยที่โอเปอเรเตอร์เป็น EQUALS (=) หรือ HAS (:) โอเปอเรเตอร์ EQUALS (=) และ HAS (:) มีค่าเท่ากันสำหรับทุกช่องยกเว้น locationName
(ดูตารางด้านล่าง)
เครื่องหมายคำพูดมีการเข้ารหัสเป็น "%22" และการเว้นวรรคเป็นเครื่องหมายบวก (+)
การเปรียบเทียบทั้งหมดเป็นการเปรียบเทียบโทเค็นที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เว้นแต่จะระบุไว้เป็นอย่างอื่น เช่น "4 drive" จะตรงกับ "4, Privet Drive"
รวมหลายช่องในการค้นหาตัวกรอง
API อนุญาตให้และเชื่อมต่อข้อจำกัดทุกช่องได้ อย่างไรก็ตาม เมื่อกล่าวถึงคีย์เวิร์ด "หรือ" ข้อจำกัดทั้งหมดจะมีผลกับช่องเดียวกัน ตัวอย่างเช่น ไม่อนุญาตให้ใช้ locationName=A
หรือ labels=B
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงนิพจน์ตัวกรองที่แสดงตำแหน่งทั้งหมดที่มีชื่อว่า "Pepé Le Pew" โดยจะแสดงหมวดหมู่สำหรับ "french_Restaurant" หรือ "european_restaurant" และป้ายกำกับ "เพิ่งเปิด"
locationName=%22Pepé+Le+Pew%22+AND+ (categories=%22french_restaurant%22+OR+ categories=%22european_restaurant%22)+AND+ labels=%22newly+open%22
ค้นหาตามระยะทางหรือบัญชี
ตัวอย่างต่อไปนี้แสดงวิธีการค้นหาตําแหน่งภายในระยะทางที่กำหนดจากจุดทางภูมิศาสตร์
GET https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=distance(latlng, geopoint({latitude}, {longitude}))<{distance}
วิธีกรองสถานที่ภายในรัศมี 1000 ไมล์ของโบลเดอร์ รัฐโคโลราโด สหรัฐอเมริกา:
GET https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=distance(latlng, geopoint(40.01, -105.27))<1000.0
รายการช่องตัวกรองทั้งหมดที่รองรับ
ต่อไปนี้คือรายการช่องทั้งหมดที่สามารถใช้ในการกรอง
ช่อง | คำอธิบายและตัวอย่าง |
---|---|
ช่องที่ตรงกับสตริง | |
title |
ชื่อในชีวิตจริงของธุรกิจ
|
categories |
ชุดค่าผสมของหมวดหมู่หลักและหมวดหมู่เพิ่มเติม โปรดทราบว่าต้องละเว้น "gcid:" หากมีหลายหมวดหมู่ ตัวกรองนี้จะจับคู่หากหมวดหมู่ตรงกับรูปแบบนี้อย่างน้อย 1 หมวดหมู่
|
phone_numbers.primary_phone |
หมายเลขโทรศัพท์หลักในรูปแบบ E.164 (เช่น "+441234567890")
|
storefront_address.region_code |
รหัสภูมิภาค CLDR ของประเทศ/ภูมิภาคของที่อยู่
|
storefront_address.administrative_area |
เขตการปกครองที่สูงที่สุดที่ใช้สำหรับที่อยู่ทางไปรษณีย์ของประเทศหรือภูมิภาค
|
storefront_address.locality |
เมืองของที่อยู่
|
storefront_address.postal_code |
รหัสไปรษณีย์ของที่อยู่
|
metadata.place_id |
หากสถานที่ตั้งนี้ได้รับการยืนยันและเชื่อมต่อ/ปรากฏใน Google Maps ช่องนี้จะเท่ากับรหัสสถานที่ของสถานที่ตั้งนั้น
|
openInfo.status |
ระบุว่าสถานที่ให้บริการอยู่หรือไม่ (
|
labels |
คอลเล็กชันสตริงรูปแบบอิสระเพื่อให้คุณติดแท็กธุรกิจได้ ค่านี้ต้องตรงกันทั้งหมดกับป้ายกำกับแบบเต็มซึ่งรวมถึงตัวพิมพ์เล็ก/ใหญ่ และไม่เป็นเพียงโทเค็น ซึ่งแตกต่างจากช่องอื่นๆ ทั้งหมด เช่น หากป้ายกำกับคือ "XX YY" จะไม่มี "XX" หรือ "xx yy" ที่ตรงกัน
|
storeCode |
ตัวระบุภายนอกสำหรับสถานที่นี้ ซึ่งต้องไม่ซ้ำกันภายในบัญชีที่ระบุ
|
ฟังก์ชัน | |
distance |
ช่วยให้คุณกรองตามระยะทางของสถานที่ตั้งจากจุดทางภูมิศาสตร์ได้
|
จัดเรียงตามฟิลด์ข้อความค้นหา
คุณสามารถจัดเรียงผลลัพธ์ตามชื่อธุรกิจหรือรหัสร้านค้าได้ตามลำดับจากน้อยไปมากหรือมากไปน้อย เกณฑ์การจัดลำดับหลายรายการคั่นด้วยคอมมาในสตริง orderBy
ตามตัวอย่างต่อไปนี้
GET https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&orderBy=locationName,storeCode
แพตช์ตำแหน่ง
ใช้ My Business Information API เพื่ออัปเดตช่องข้อมูลอย่างน้อย 1 ช่องสำหรับสถานที่ด้วย locations.patch
หากต้องการเปลี่ยนช่องอย่างน้อย 1 ช่องของสถานที่ ให้ใช้ค่าต่อไปนี้
เพิ่มช่องและค่าที่อัปเดตด้วยช่องตำแหน่ง และใช้รายการที่คั่นด้วยจุลภาคของช่องที่อัปเดตเป็นค่าสำหรับ fieldMask
PATCH https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?languageCode=language&validateOnly=True|False&updateMask=title { "title": "Google Shoes" }