เอกสารนี้แสดงรายละเอียดความรู้เบื้องต้นที่คุณจำเป็นต้องใช้ Google Site Verification API
บทนำ
Google Site Verification API ออกแบบมาสำหรับนักพัฒนาซอฟต์แวร์ที่ต้องการเขียนแอปพลิเคชันหรือบริการที่ ดำเนินขั้นตอนยืนยันการเป็นเจ้าของเว็บไซต์หรือโดเมนโดยอัตโนมัติ ซึ่งเป็นสิ่งสำคัญเพราะบางคน บริการของ Google สามารถใช้งานได้โดยเจ้าของเว็บไซต์หรือโดเมนเท่านั้น คุณสามารถใช้ Google Site Verification API เพื่อ ตรวจสอบว่าผู้ใช้ที่ตรวจสอบสิทธิ์แล้วนั้นเป็นเจ้าของโดเมนหรือเว็บไซต์ ซึ่งอาจเป็น ในการจัดสรรบริการอื่นๆ ของ Google ผ่านการเขียนโปรแกรม
เอกสารนี้ถือว่าคุณคุ้นเคยกับแนวคิดการเขียนโปรแกรมเว็บ รูปแบบข้อมูลเว็บ และ คุณสามารถแก้ไขไฟล์หรือระเบียน DNS ของเว็บไซต์หรือโดเมนแบบเป็นโปรแกรมได้
ภาพรวม
คุณสามารถใช้ Google Site Verification API เพื่อแก้ไขข้อมูลการยืนยันเว็บไซต์ Google ของผู้ใช้ ผู้ใช้จะทำได้เพียง เข้าถึงบริการบางอย่างของ 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 จะแตกต่างกันไปโดยขึ้นอยู่กับประเภทของแอปพลิเคชันที่คุณเขียน แอปพลิเคชันทุกประเภทจะใช้กระบวนการทั่วไปต่อไปนี้
- เมื่อสร้างแอปพลิเคชัน คุณจะลงทะเบียนแอปได้โดยใช้คอนโซล Google API จากนั้น Google จะให้ข้อมูลที่คุณต้องใช้ในภายหลัง เช่น รหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์
- เปิดใช้งาน Google Site Verification API ในคอนโซล Google API (หากไม่เห็น API ดังกล่าวในคอนโซล API ให้ข้ามขั้นตอนนี้ไป)
- เมื่อแอปพลิเคชันต้องการเข้าถึงข้อมูลผู้ใช้ แอปจะขอขอบเขตการเข้าถึงที่จำเป็นจาก Google
- Google จะแสดงหน้าจอขอคำยินยอมแก่ผู้ใช้เพื่อขอให้ผู้ใช้ให้สิทธิ์แอปพลิเคชันของคุณในการขอข้อมูลบางอย่างของผู้ใช้
- หากผู้ใช้อนุมัติ Google จะให้โทเค็นเพื่อการเข้าถึงที่มีอายุชั่วคราวแก่แอปพลิเคชันของคุณ
- แอปพลิเคชันขอข้อมูลผู้ใช้โดยแนบโทเค็นเพื่อการเข้าถึงไปกับคำขอ
- หาก 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) โดยใช้คำสั่ง ปันเอนโค้ด หากจำเป็น
วิธีการยืนยันและโทเค็น
API กําหนดการเรียกการยืนยันแต่ละขั้น ดังนี้
- การวางโทเค็นการยืนยัน: มีการเรียก API สำหรับการเรียกข้อมูลโทเค็นการยืนยันเพื่อวางในเว็บไซต์ของผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์ หากผู้ใช้มีมากกว่าหนึ่งเว็บไซต์ คุณจะต้องขอรับโทเค็นแยกกันสำหรับแต่ละเว็บไซต์
- การตรวจหาโทเค็นการยืนยันที่มีอยู่: มีการเรียก API แยกต่างหากเพื่อขอให้ Google ตรวจสอบโทเค็นเพื่อยืนยันว่าผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์เป็นเจ้าของเว็บไซต์
การยืนยันเว็บไซต์หรือโดเมนที่แอปพลิเคชันใช้งานได้มีหลายวิธี ซึ่งจะขึ้นอยู่กับว่าแบบใดเหมาะกับความต้องการของคุณมากที่สุด ตำแหน่งที่จะวางโทเค็นและประเภทของโทเค็นขึ้นอยู่กับวิธีการยืนยันที่คุณเลือก
วิธีการยืนยันโดเมน
มีวิธีการยืนยัน 2 วิธีสำหรับโดเมน ได้แก่
- DNS_CNAME
-
แอปพลิเคชันของคุณจะสร้างระเบียน CNAME ใหม่สำหรับโดเมนของเจ้าของ โดยอาจทำผ่านผู้รับจดทะเบียนโดเมนโดยใช้โทเค็นสำหรับข้อมูลระเบียน โทเค็นประกอบด้วย 2 ส่วนโดยคั่นด้วยการเว้นวรรค: ส่วนแรกเป็นชื่อระเบียน CNAME ใหม่ ส่วนที่ 2 คือค่าของระเบียน 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 สำหรับข้อมูลเพิ่มเติม
จะเป็นประโยชน์อย่างยิ่งต่อความเข้าใจเกี่ยวกับแนวคิดหลักและเวิร์กโฟลว์ หากคุณลองยืนยันเว็บไซต์บางแห่งด้วยตนเองก่อนโดยใช้อินเทอร์เฟซผู้ใช้ของการยืนยันเว็บไซต์
โมเดลข้อมูล
แหล่งข้อมูลบนเว็บ
Google Site Verification API นำความหมายของ REST (HTTP GET
, POST
ฯลฯ) ไปใช้กับเอนทิตีที่เรียกว่าทรัพยากรบนเว็บ แหล่งข้อมูลบนเว็บคือเว็บไซต์หรือโดเมนของผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์แล้ว
ตัวอย่างแหล่งข้อมูลบนเว็บมีดังนี้
{ "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
จากเอาต์พุตของการดำเนินการ list เพื่อใช้เป็นตัวระบุในภายหลัง
ออบเจ็กต์ site
ประกอบด้วย URL หรือชื่อโดเมนของทรัพยากรบนเว็บ และประเภทของทรัพยากร มีการระบุเว็บไซต์ด้วยประเภท SITE
โดเมนถูกระบุด้วยประเภท INET_DOMAIN
อาร์เรย์ owners
คือรายการเจ้าของทรัพยากรบนเว็บทั้งหมด ซึ่งแสดงด้วยอีเมล เมื่อเพิ่มหรือนำที่อยู่อีเมลออกจากรายชื่อเจ้าของ ผู้ใช้ที่ตรวจสอบสิทธิ์แล้วจะให้สิทธิ์การเป็นเจ้าของร่วมหรือเพิกถอนการเป็นเจ้าของสำหรับผู้ใช้รายอื่นได้ เจ้าของเพิ่มเติมที่ได้วางโทเค็นของตนเองไว้ในเว็บไซต์หรือโดเมนจะปรากฏในรายชื่อเจ้าของพร้อมกับเจ้าของร่วมด้วย
ผู้ใช้ที่ได้รับการเป็นเจ้าของร่วมสามารถให้สิทธิ์การเป็นเจ้าของร่วมได้เช่นกัน ตราบใดที่มีเจ้าของที่ได้รับการยืนยันอย่างน้อย 1 คนพร้อมโทเค็นบนเว็บไซต์
การรวบรวมแหล่งข้อมูลบนเว็บ
การรวบรวมแหล่งข้อมูลเว็บคือรายการที่สมบูรณ์ของทรัพยากรเว็บทั้งหมดที่เป็นของผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์ คุณสามารถยืนยันการเป็นเจ้าของเว็บไซต์หรือโดเมนได้ง่ายๆ ด้วยการพยายามเพิ่มทรัพยากรเว็บใหม่ลงในการรวบรวมทรัพยากรเว็บของผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์ เฉพาะเว็บไซต์หรือโดเมนที่ได้รับการยืนยันเท่านั้นที่จะเพิ่มลงในคอลเล็กชันได้สำเร็จ
ดังที่ได้กล่าวไว้ก่อนหน้านี้ในส่วนข้อจำกัด แหล่งข้อมูลบนเว็บที่เป็นของผู้ใช้ที่ไม่ใช่ผู้ใช้ที่ตรวจสอบสิทธิ์แล้วจะไม่สามารถเข้าถึงผ่านทาง Site Verification API