บทแนะนำนี้แสดงวิธีสร้างและแก้ไขข้อมูลตำแหน่ง 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 แห่ง คุณอาจต้องการแสดง สถานที่ตั้งทั้งหมดที่เชื่อมโยงกับบัญชีของคุณ ใช้เมนู accounts.locations.list API เพื่อแสดงสถานที่ตั้งทั้งหมดที่เชื่อมโยงกับผู้ใช้
หากต้องการแสดงสถานที่ทั้งหมดที่ผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์เป็นเจ้าของหรือจัดการโดยตรง ให้ใช้ ดังต่อไปนี้
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 ไดรฟ์" จะตรงกับ "4, Privet Drive"
รวมหลายฟิลด์ในการค้นหาตัวกรอง
API จะอนุญาตให้ "และ" เชื่อมต่อการจำกัดช่องทั้งหมด อย่างไรก็ตาม
เมื่อพูดถึงคีย์เวิร์ด "หรือ" ข้อจำกัดทั้งหมดจะใช้กับ
ด้วย ตัวอย่างเช่น locationName=A
หรือ labels=B
ไม่เท่ากับ
อนุญาต
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงนิพจน์ตัวกรองที่แสดงสถานที่ตั้งทั้งหมดที่มี ชื่อ "Pepé Le Pew" ซึ่งแสดงหมวดหมู่ "french_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}
วิธีกรองสถานที่ภายในรัศมี 1, 000 ไมล์จากโบลเดอร์ โคโลราโด สหรัฐอเมริกา
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" }