เริ่มต้นใช้งาน

เอกสารนี้แสดงรายละเอียดความรู้พื้นฐานที่คุณต้องใช้ Google Site Verification API

บทนำ

Google Site Verification API มีไว้สําหรับนักพัฒนาซอฟต์แวร์ที่ต้องการเขียนแอปพลิเคชันหรือบริการที่จะทําให้กระบวนการยืนยันการเป็นเจ้าของเว็บไซต์หรือโดเมนใช้งานได้โดยอัตโนมัติ ข้อสําคัญ คม. นี้ เนื่องจากบริการบางอย่างของ Google สามารถใช้งานได้โดยเจ้าของเว็บไซต์หรือโดเมนเท่านั้น คุณสามารถใช้ Google Site Verification API เพื่อตรวจสอบว่าผู้ใช้ที่ตรวจสอบสิทธิ์แล้วเป็นเจ้าของโดเมนหรือเว็บไซต์ โดยอาจเป็นขั้นตอนแรกในการจัดสรรบริการอื่นๆ ของ Google แบบเป็นโปรแกรม

เอกสารนี้จะถือว่าคุณคุ้นเคยกับแนวคิดการเขียนโปรแกรมเว็บ รูปแบบข้อมูลบนเว็บ และความสามารถในการแก้ไขไฟล์หรือระเบียน DNS ของเว็บไซต์หรือโดเมนแบบเป็นโปรแกรม

ภาพรวม

คุณสามารถใช้ Google Site Verification API เพื่อแก้ไขข้อมูลการยืนยันเว็บไซต์จาก Google Sites ของผู้ใช้ได้ ผู้ใช้จะเข้าถึงบริการบางอย่างของ Google ได้เฉพาะเมื่อข้อมูลการยืนยันแสดงให้เห็นว่าเป็นเจ้าของโดเมนโดเมนเฉพาะ คุณใช้ API เพื่อสร้างโทเค็นการยืนยันสําหรับผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว ซึ่งรหัสจะวางในวิธีการต่างๆ บนเว็บไซต์หรือบันทึกโดเมนในนามของผู้ใช้ได้ เมื่อมีโทเค็นแล้ว คุณจะเรียกใช้ API เพื่อขอให้ Google ตรวจสอบโทเค็นนั้น หาก Google พบโทเค็น Google จะลงทะเบียนผู้ใช้ที่ตรวจสอบสิทธิ์แล้วว่าเป็นเจ้าของเว็บไซต์หรือโดเมน นอกจากนี้ คุณยังใช้ API เพื่อแก้ไขรายการการเป็นเจ้าของในนามของผู้ใช้ หรือนําการเป็นเจ้าของเว็บไซต์ออกทั้งหมดได้ด้วย

การเรียก API ทั้งหมดจะต้องได้รับอนุญาตจากผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว และการเรียกใช้ API ทั้งหมดจะดําเนินการในบริบทของบัญชีของผู้ใช้ที่ได้รับการตรวจสอบแล้ว

เพื่อเป็นตัวอย่างที่ชัดเจนของช่วงเวลาที่คุณอาจได้รับ API นี้ สมมติว่าคุณให้บริการเว็บโฮสติ้ง ผู้ใช้ของคุณสามารถใช้ Search Console ของ Google เพื่อดูข้อมูลเกี่ยวกับเว็บไซต์ของตนได้ Google จําเป็นต้องทราบว่าตนเป็นเจ้าของจริงๆ ก่อนจึงจะดําเนินการดังกล่าวได้ ดังนั้น คุณจึงมีอินเทอร์เฟซที่ขอให้ผู้ใช้ยืนยันการเป็นเจ้าของเว็บไซต์ ซึ่งช่วยให้แอปพลิเคชันเข้าถึงข้อมูลการยืนยันของตัวเองได้ และขณะนี้โปรแกรมสามารถเรียกใช้โค้ดที่ขอโทเค็นในนามของแอป วางโค้ดไว้ในไฟล์โครงสร้างของเว็บไซต์ และขอให้ Google ตรวจหาโทเค็น เมื่อ Google พบโทเค็น Google จะให้สิทธิ์การเป็นเจ้าของเว็บไซต์แก่ผู้ใช้โดยการอัปเดตข้อมูลการยืนยัน ตอนนี้ผู้ใช้สามารถใช้ Search Console เพื่อให้ได้ข้อมูลที่ต้องการแล้ว

ก่อนจะเริ่ม

รับบัญชี Google

คุณควรตรวจสอบว่าได้ตั้งค่าบัญชี Google แล้ว เราขอแนะนําให้คุณใช้บัญชี Google แยกต่างหากสําหรับการพัฒนาและการทดสอบ เพื่อปกป้องตัวคุณเองจากการสูญเสียข้อมูลโดยไม่ตั้งใจ

ทําความคุ้นเคยกับการยืนยันเว็บไซต์

หากคุณไม่คุ้นเคยกับแนวคิดของ Google Site Verification API คุณควรอ่านเอกสารนี้ ทดสอบอินเทอร์เฟซผู้ใช้ของการยืนยัน และอ่านเอกสารช่วยเหลือที่เกี่ยวข้องก่อนที่จะเริ่มเขียนโค้ด

ดูวิธีให้สิทธิ์คําขอ

คําขอทุกรายการที่แอปพลิเคชันของคุณส่งไปยัง Google Site Verification API ต้องมีโทเค็นการให้สิทธิ์ก่อน โทเค็นดังกล่าวจะระบุตัวตนแอปพลิเคชันของคุณให้ Google ทราบด้วย

เกี่ยวกับโปรโตคอลการให้สิทธิ์

แอปพลิเคชันต้องใช้ OAuth 2.0 เพื่อให้สิทธิ์คำขอ ระบบไม่รองรับโปรโตคอลการให้สิทธิ์อื่นๆ หากแอปพลิเคชันใช้ลงชื่อเข้าใช้ด้วย Google เราจะให้สิทธิ์บางอย่างแก่คุณ

การให้สิทธิ์คำขอด้วย OAuth 2.0

คําขอทั้งหมดที่ส่งไปยัง Google Site Verification API จะต้องได้รับอนุญาตจากผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว

รายละเอียดของกระบวนการให้สิทธิ์หรือ "ขั้นตอน" ของ OAuth 2.0 จะแตกต่างกันไปโดยขึ้นอยู่กับประเภทของแอปพลิเคชันที่คุณเขียน แอปพลิเคชันทุกประเภทจะใช้กระบวนการทั่วไปต่อไปนี้

  1. เมื่อสร้างแอปพลิเคชัน คุณจะลงทะเบียนแอปได้โดยใช้คอนโซล Google API จากนั้น Google จะให้ข้อมูลที่คุณต้องใช้ในภายหลัง เช่น รหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์
  2. เปิดใช้งาน Google Site Verification API ในคอนโซล Google API (หากไม่เห็น API ดังกล่าวในคอนโซล API ให้ข้ามขั้นตอนนี้ไป)
  3. เมื่อแอปพลิเคชันต้องการเข้าถึงข้อมูลผู้ใช้ แอปจะขอขอบเขตการเข้าถึงที่จำเป็นจาก Google
  4. Google จะแสดงหน้าจอขอคำยินยอมแก่ผู้ใช้เพื่อขอให้ผู้ใช้ให้สิทธิ์แอปพลิเคชันของคุณในการขอข้อมูลบางอย่างของผู้ใช้
  5. หากผู้ใช้อนุมัติ Google จะให้โทเค็นเพื่อการเข้าถึงที่มีอายุชั่วคราวแก่แอปพลิเคชันของคุณ
  6. แอปพลิเคชันขอข้อมูลผู้ใช้โดยแนบโทเค็นเพื่อการเข้าถึงไปกับคำขอ
  7. หาก Google ตัดสินว่าคำขอและโทเค็นของคุณถูกต้อง ระบบจะแสดงข้อมูลที่ขอ

บางกระบวนการจะมีขั้นตอนเพิ่มเติม เช่น การใช้โทเค็นการรีเฟรชเพื่อขอโทเค็นเพื่อการเข้าถึงใหม่ ดูข้อมูลอย่างละเอียดเกี่ยวกับกระบวนการของแอปพลิเคชันประเภทต่างๆ ได้ที่เอกสารประกอบเกี่ยวกับ OAuth 2.0 ของ Google

ข้อมูลขอบเขต OAuth 2.0 สําหรับ Google Site Verification API มีดังนี้

ขอบเขต ความหมาย
https://www.googleapis.com/auth/siteverification สิทธิ์การอ่านแบบเต็มสําหรับเว็บไซต์ที่ยืนยันแล้วที่มีอยู่ ความสามารถในการยืนยันเว็บไซต์ใหม่
https://www.googleapis.com/auth/siteverification.verify_only ความสามารถในการยืนยันเว็บไซต์ใหม่ ไม่มีสิทธิ์อ่านเว็บไซต์ที่ยืนยันแล้วที่มีอยู่

หากต้องการขอสิทธิ์โดยใช้ OAuth 2.0 แอปพลิเคชันของคุณต้องมีข้อมูลขอบเขต รวมถึงข้อมูลที่ Google ให้คุณตอนลงทะเบียนแอปพลิเคชัน (เช่น รหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์)

เคล็ดลับ: ไลบรารีของไคลเอ็นต์ Google APIs จัดการขั้นตอนการให้สิทธิ์บางส่วนให้คุณได้ ไลบรารีเหล่านี้พร้อมให้บริการเป็นภาษาโปรแกรมต่างๆ โปรดดูรายละเอียดเพิ่มเติมที่หน้าที่มีไลบรารีและตัวอย่าง

พื้นหลังของ Google Site Verification API

แนวคิด

คุณสามารถใช้ Google Site Verification API ตั้งค่าการเป็นเจ้าของแหล่งข้อมูลบนเว็บประเภทต่อไปนี้ของผู้ใช้

  • โดเมน: โดเมนหรือโดเมนย่อย จะถือว่าเจ้าของโดเมนเป็นเจ้าของเว็บไซต์และโดเมนย่อยทั้งหมดภายใต้โดเมนนั้น ตัวอย่างเช่น เจ้าของโดยตรงของ bar.com จะถือว่าเป็นเจ้าของโดยอ้อมของ foo.bar.com เช่นกัน
  • เว็บไซต์: URL ที่เกี่ยวข้องกับโดเมนฐานและเส้นทางของเว็บไซต์ จะถือว่าเจ้าของเว็บไซต์เป็นเจ้าของเว็บไซต์ทั้งหมดภายใต้เว็บไซต์นั้น ตัวอย่างเช่น เจ้าของ "http://www.example.com/site" จะถือว่าเป็นเจ้าของ "http://www.example.com/site/subsite" ด้วย

เนื่องจากความเป็นเจ้าของโดเมนจะใช้งานในวงกว้างมากกว่าการเป็นเจ้าของเว็บไซต์ เราขอแนะนําให้คุณตรวจสอบกับโดเมนเมื่อใดก็ตามที่ทําได้

กระบวนการเริ่มการเป็นเจ้าของจะเริ่มต้นจากแอปพลิเคชันของคุณ โดยจะขอ "โทเค็นการยืนยัน" ในนามของผู้ใช้ โทเค็นการยืนยันคือสตริงพิเศษที่โค้ดของคุณต้องวางในเว็บไซต์หรือโดเมน หลังจากใช้โทเค็นแล้ว แอปพลิเคชันของคุณสามารถส่งคําขอไปยัง Google Site Verification API ที่จะตรวจหาโทเค็นและบันทึกการเป็นเจ้าของเมื่อพบได้

ข้อจำกัด

Google Site Verification API จะบังคับใช้ข้อจํากัดบางอย่างเกี่ยวกับวิธีใช้งานเนื่องจากเหตุผลด้านความปลอดภัยและด้านเทคนิค ดังนี้

  • การเข้าถึงข้อมูลสําหรับผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์เท่านั้น: การดําเนินการทั้งหมดต้องมีการตรวจสอบสิทธิ์และการให้สิทธิ์ผู้ใช้
  • การยืนยันสําหรับผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์เท่านั้น: API สามารถยืนยันความเป็นเจ้าของเว็บไซต์หรือโดเมนสําหรับบัญชีที่ได้รับการตรวจสอบสิทธิ์ในปัจจุบันเท่านั้น อย่างไรก็ตาม ผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์จะมอบสิทธิ์การเป็นเจ้าของให้ผู้ใช้รายอื่นได้หลังจากที่ยืนยันการเป็นเจ้าของเว็บไซต์แล้ว โปรดทราบว่าเจ้าของทุกคนจะได้รับการแจ้งเตือนทางอีเมลเมื่อมีการแก้ไขรายการการเป็นเจ้าของ
  • URL และชื่อโดเมนที่ปรับให้เป็นมาตรฐานเท่านั้น Google Site Verification API ไม่รองรับการเข้ารหัส IDN (ชื่อโดเมนสากล) ตรวจสอบว่าได้ทําให้ URL, ชื่อโดเมน และโดเมนอีเมลทั้งหมดเป็นไปตามมาตรฐานชุดอักขระชื่อโดเมนมาตรฐาน (RFC 1034 §3.5) โดยใช้ Punycoding หากจําเป็น

วิธีการยืนยันและโทเค็น

API จะเรียกใช้การยืนยันแต่ละระยะดังต่อไปนี้

  • การวางโทเค็นการยืนยัน: มีการเรียก API สําหรับการเรียกโทเค็นการยืนยันเพื่อวางบนเว็บไซต์ที่ตรวจสอบสิทธิ์แล้วของผู้ใช้ หากผู้ใช้มีเว็บไซต์มากกว่า 1 แห่ง คุณจะต้องได้รับโทเค็นที่แตกต่างกันสําหรับแต่ละเว็บไซต์
  • ตรวจสอบโทเค็นการยืนยัน: มีการเรียก API แยกต่างหากเพื่อขอให้ Google ตรวจสอบโทเค็นเพื่อยืนยันว่าผู้ใช้ที่ตรวจสอบสิทธิ์เป็นเจ้าของเว็บไซต์

การยืนยันเว็บไซต์หรือโดเมนที่ใช้ในแอปพลิเคชันของคุณนั้นมีอยู่หลายวิธี โดยวิธีที่เลือกจะขึ้นอยู่กับวิธีที่เหมาะกับความต้องการของคุณมากที่สุด ตําแหน่งที่จะวางโทเค็นและประเภทของโทเค็นเอง จะขึ้นอยู่กับวิธีการยืนยันที่คุณเลือก

วิธียืนยันโดเมน

วิธีการยืนยันในโดเมนมี 2 วิธีดังนี้

DNS_CNAME

แอปพลิเคชันจะสร้างระเบียน CNAME ใหม่สําหรับโดเมนของเจ้าของ โดยอาจดําเนินการผ่านผู้รับจดทะเบียนโดเมนโดยใช้โทเค็นสําหรับข้อมูลระเบียน โทเค็นประกอบด้วย 2 ส่วนคั่นด้วยการเว้นวรรค ได้แก่ ส่วนแรกคือระเบียน CNAME ใหม่ และส่วนที่สองคือค่า CNAME ใหม่

DNS_TXT

แอปพลิเคชันจะสร้างระเบียน TXT ใหม่สําหรับโดเมนของเจ้าของ โดยอาจดําเนินการผ่านผู้รับจดทะเบียนโดเมนโดยใช้โทเค็นสําหรับข้อมูลระเบียน

ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบในศูนย์ช่วยเหลือเกี่ยวกับวิธีการยืนยัน DNS

วิธีการยืนยันเว็บไซต์

วิธีการยืนยันมี 3 วิธีสําหรับเว็บไซต์ ได้แก่

ไฟล์
แอปพลิเคชันจะวางโทเค็นในรูปแบบไฟล์ของเว็บไซต์ของเจ้าของ คุณต้องสร้างไฟล์ที่มีชื่อตรงกับสตริงโทเค็นซึ่งมีเนื้อหาต่อไปนี้
google-site-verification: token

ตัวอย่างเช่น หากผู้ใช้เป็นเจ้าของเว็บไซต์ http://www.example.com/ และโทเค็นที่แสดงผลคือ google12cfc68677988bb4.html คุณก็เพียงต้องสร้างไฟล์ที่ http://www.example.com/google12cfc68677988bb4.html (ที่ระดับบนสุดของเว็บไซต์) ที่มีเนื้อหาต่อไปนี้

google-site-verification: google12cfc8677988bb4.html

ดูข้อมูลเพิ่มเติมในเอกสารประกอบเกี่ยวกับการยืนยันไฟล์ของศูนย์ช่วยเหลือ

Meta

แอปพลิเคชันจะแทรกโทเค็นในรูปแบบของแท็ก HTML <meta> ภายในองค์ประกอบ <head> ของไฟล์เริ่มต้น (index.html, default.html เป็นต้น) ที่ระดับบนสุดของเว็บไซต์ของเจ้าของ ไฟล์ HTML ที่มีโทเค็นการยืนยันเมตาจะมีลักษณะดังนี้

<html>
  <head>
    <title>Awesome Dive Sites</title>
    <meta name="google-site-verification" content="-dhsoFQadgDKJR7BsB6bc1j5yfqjUpg_b-1pFjr7o3x" />
  </head>
  <body>
    ...

ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบในศูนย์ช่วยเหลือเกี่ยวกับวิธีการยืนยันเมตา

Analytics

แอปพลิเคชันใช้โค้ดติดตามของ Google Analytics ที่มีอยู่แล้วในเว็บไซต์ของเจ้าของ โค้ดติดตามต้องเป็นของบัญชี Analytics และข้อมูลโค้ดต้องอยู่ในแท็ก HEAD จึงจะทํางานได้ ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบในศูนย์ช่วยเหลือเกี่ยวกับวิธีการยืนยันของ Analytics

Tag Manager

แอปพลิเคชันของคุณใช้โค้ดคอนเทนเนอร์ของ Google Tag Manager ที่มีอยู่แล้วในเว็บไซต์ของเจ้าของ โดยโค้ดคอนเทนเนอร์ต้องเป็นของบัญชี Tag Manager ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบในศูนย์ช่วยเหลือเกี่ยวกับวิธีการยืนยันของ Tag Manager

ขอแนะนําให้ทําความเข้าใจแนวคิดและเวิร์กโฟลว์หลักหากลองยืนยันเว็บไซต์ 2-3 แห่งด้วยตนเองด้วยอินเทอร์เฟซผู้ใช้การยืนยันเว็บไซต์

โมเดลข้อมูล

ทรัพยากรเว็บ

Google Site Verification API นําความหมาย (REST GET, POST ฯลฯ) ของ REST ไปใช้กับเอนทิตีที่เรียกว่าแหล่งข้อมูลเว็บ แหล่งข้อมูลบนเว็บคือเว็บไซต์หรือโดเมนที่เป็นของผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว

ตัวอย่างของแหล่งข้อมูลในเว็บมีดังนี้

{
  "owners": [
    "myself@example.com",
    "another@example.com"
  ],
  "id": "http%3A%2F%2Fwww.example.com%2F",
  "site": {
    "identifier": "http://www.example.com/",
    "type": "SITE"
  }
}

ช่อง id คือตัวระบุที่ไม่ซ้ําสําหรับทรัพยากรเว็บนี้ ซึ่งใช้อ้างอิงทรัพยากรของเว็บสําหรับการเรียกข้อมูลและการปรับเปลี่ยน เก็บช่อง id จากเอาต์พุตของการดําเนินการรายการไว้ใช้ในภายหลังเป็นตัวระบุ

ออบเจ็กต์ site มี URL หรือชื่อโดเมนของทรัพยากรบนเว็บ และประเภทของทรัพยากร เว็บไซต์จะระบุด้วยประเภท SITE ส่วนโดเมนจะระบุเป็นประเภท INET_DOMAIN

อาร์เรย์ owners คือรายการเจ้าของทรัพยากรเว็บทั้งหมด ซึ่งแสดงโดยที่อยู่อีเมล การเพิ่มหรือนําที่อยู่อีเมลออกจากรายชื่อเจ้าของ ผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์จะมีสิทธิ์ให้สิทธิ์การเป็นเจ้าของร่วมหรือเพิกถอนการเป็นเจ้าของของผู้ใช้รายอื่นๆ เจ้าของรายอื่นๆ ที่วางโทเค็นของตนเองในเว็บไซต์หรือโดเมนจะปรากฏในรายการเจ้าของ รวมถึงเจ้าของร่วมด้วย

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

คอลเล็กชันทรัพยากรในเว็บ

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

ตามที่ได้ระบุไว้ในส่วนข้อจํากัด แหล่งข้อมูลบนเว็บที่เป็นของผู้ใช้อื่นนอกเหนือจากผู้ใช้ที่ตรวจสอบสิทธิ์แล้วจะเข้าถึงผ่าน Site Verification API ไม่ได้