การใช้งานข้อมูลตําแหน่ง

บทแนะนำนี้แสดงวิธีสร้างและแก้ไขข้อมูลตำแหน่ง My Business Information API ช่วยให้คุณทําสิ่งต่อไปนี้ได้

คุณใช้สถานที่ตั้งใน Google Ads ได้ แต่ต้อง ยืนยันแล้วเพื่อให้มีสิทธิ์ จะปรากฏใน Search และ Maps ข้อมูลตำแหน่งจะแสดงด้วย accounts.locations คอลเล็กชัน

ก่อนเริ่มต้น

ก่อนที่จะใช้ My Business Information API คุณต้องลงทะเบียน และรับข้อมูลรับรอง OAuth 2.0 โปรดดูรายละเอียดเกี่ยวกับวิธีเริ่มต้นใช้งาน ด้วย My Business Information API โปรดดูการตั้งค่าพื้นฐาน

สร้างสถานที่

คุณสามารถใช้ My Business Information API เพื่อสร้างสถานที่ตั้งใหม่ให้กับธุรกิจที่มี accounts.locations.create

หากต้องการสร้างตำแหน่ง ให้ใช้รายการต่อไปนี้

HTTP
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.

หากต้องการลบสถานที่ตั้ง ให้ใช้รายการต่อไปนี้

HTTP
DELETE
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}

รับข้อมูลตำแหน่งตามชื่อ

หากคุณมีธุรกิจหลายแห่งที่เชื่อมโยงกับบัญชีของคุณ คุณอาจต้องการ เพียงแห่งเดียว กรองตามธุรกิจ เพื่อรับ สถานที่ตั้งด้วย locations.get.

หากต้องการระบุตำแหน่งจากชื่อ ให้ใช้คำสั่งต่อไปนี้ คุณต้องระบุ ReadMask เพื่อเรียกข้อมูลฟิลด์ที่เฉพาะเจาะจง :

HTTP
GET
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?readMask={commaSeparatedFieldsToRetrieve}

แสดงเวอร์ชัน Google Maps

HTTP

หากต้องการแสดงสถานที่ในเวอร์ชัน 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 เพื่อแสดงสถานที่ตั้งทั้งหมดที่เชื่อมโยงกับผู้ใช้

หากต้องการแสดงสถานที่ทั้งหมดที่ผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์เป็นเจ้าของหรือจัดการโดยตรง ให้ใช้ ดังต่อไปนี้

HTTP
GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}

ใช้ไวลด์การ์ด '-' สำหรับบัญชีใน URL คำขอเพื่อรวม รายชื่อที่เป็นเจ้าของโดยอ้อม (เป็นเจ้าของหรือจัดการผ่านกลุ่ม):

HTTP
GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/-/locations?readMask={commaSeparatedFieldsToRetrieve}

กรองผลลัพธ์เมื่อแสดงรายการสถานที่ตั้ง

HTTP

คุณสามารถใช้ตัวกรองเพื่อจำกัดผลลัพธ์ที่ส่งคืนเมื่อโทร 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

ค้นหาตามระยะทางหรือบัญชี

ตัวอย่างต่อไปนี้จะแสดงวิธีที่คุณสามารถค้นหาสถานที่ภายใน ระยะทางจากจุดทางภูมิศาสตร์:

HTTP
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

ธุรกิจ ชื่อในชีวิตจริง

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=title:"Bajis" (ตรงกับชื่อสถานที่ใดๆ ที่มี "Bajis" เป็นสตริงย่อย)

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=title="Bajis" (ตรงกับชื่อสถานที่ใดๆ ที่มี "Bajis" เป็นโทเค็น/คำ)

categories

ชุดค่าผสมของหมวดหมู่หลักและหมวดหมู่เพิ่มเติม โปรดทราบว่า "gcid:" จะต้องละเว้น ถ้ามี หมวดหมู่ ระบบจะจับคู่ตัวกรองนี้หากมีอย่างน้อย 1 หมวดหมู่ตรงกับหมวดหมู่นี้ รูปแบบ

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=categories="french_restaurant"

phone_numbers.primary_phone

หมายเลขโทรศัพท์หลักในรูปแบบ E.164 (เช่น "+441234567890")

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=phone_numbers.primary_phone="+441234567890"

storefront_address.region_code

รหัสภูมิภาค CLDR ของประเทศ/ภูมิภาคของที่อยู่

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=storefront_address.region_code="US"

storefront_address.administrative_area

เขตการปกครองสูงสุดซึ่งใช้สำหรับที่อยู่ทางไปรษณีย์ของประเทศหรือภูมิภาค

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=storefront_address.administrative_area="CA"

storefront_address.locality

เขต/อำเภอของที่อยู่

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=storefront_address.locality="New York"

storefront_address.postal_code

รหัสไปรษณีย์ของที่อยู่

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=storefront_address.postal_code="12345"

metadata.place_id

หากสถานที่นี้ได้รับการยืนยันและเชื่อมต่อ/ปรากฏใน Google Maps ช่องนี้จะมีค่าเท่ากับรหัสสถานที่ของสถานที่นั้น

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=metadata.place_id="12345"

openInfo.status

ระบุว่าสถานที่เปิดให้บริการอยู่หรือไม่ (OPEN เวลา CLOSED_PERMANENTLY)

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=openInfo.status="OPEN"

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=openInfo.status="CLOSED_PERMANENTLY"

labels

คอลเล็กชันสตริงรูปแบบอิสระเพื่อให้คุณติดแท็กธุรกิจได้ ใน ซึ่งแตกต่างจากฟิลด์อื่นๆ ทั้งหมด ค่านี้ต้องตรงกับฟิลด์ โดยรวมตัวอักษรพิมพ์เล็ก-ใหญ่ ไม่ใช่เพียงโทเค็น เช่น หากป้ายกำกับเป็น "XX YY" ก็เท่ากับ "XX" หรือ "xx yy" ที่ตรงกัน

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=labels="newly open"

storeCode

ตัวระบุภายนอกสำหรับสถานที่นี้ ซึ่งต้องไม่ซ้ำกันภายในบัญชีที่กำหนด

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=storeCode="12345"

ฟังก์ชัน
distance

ช่วยให้คุณสามารถกรองตามระยะทางของสถานที่ตั้งจากจุดทางภูมิศาสตร์ได้

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=distance(latlng, geopoint(1.0, -25.0))<1000.0

ช่องจัดเรียงตามคำค้นหา

คุณสามารถจัดเรียงผลลัพธ์ตามชื่อธุรกิจหรือรหัสร้านค้าจากน้อยไปมากหรือ จากมากไปน้อย เกณฑ์การสั่งซื้อหลายรายการจะคั่นด้วยเครื่องหมายคอมมาในส่วน สตริง orderBy ตามตัวอย่างต่อไปนี้

HTTP
GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&orderBy=locationName,storeCode

แพตช์สถานที่

ใช้ My Business Information API เพื่ออัปเดตช่องอย่างน้อย 1 ช่องสำหรับสถานที่ตั้งที่มี locations.patch

หากต้องการเปลี่ยนอย่างน้อย 1 ช่องสำหรับสถานที่ตั้ง ให้ใช้รายการต่อไปนี้

HTTP

เพิ่มช่องและค่าที่อัปเดตด้วยช่องตำแหน่ง แล้วใช้ รายการช่องที่คั่นด้วยคอมมาของช่องที่มีการอัปเดตเป็นค่าสำหรับ fieldMask

PATCH
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?languageCode=language&validateOnly=True|False&updateMask=title
{
    "title": "Google Shoes"
}