Memulai

Dokumen ini menjelaskan pengetahuan latar belakang yang Anda perlukan untuk menggunakan Google Site Verification API.

Pengantar

Google Site Verification API ditujukan untuk developer yang ingin menulis aplikasi atau layanan yang mengotomatiskan proses verifikasi kepemilikan situs atau domain. Hal ini penting, karena beberapa layanan Google hanya dapat digunakan oleh pemilik situs atau domain. Anda dapat menggunakan Google Site Verification API untuk memvalidasi bahwa pengguna terautentikasi adalah pemilik domain atau situs, mungkin sebagai langkah pertama dalam menyediakan layanan Google lainnya secara terprogram.

Dokumen ini mengasumsikan bahwa Anda sudah memahami konsep pemrograman web, format data web, dan bahwa Anda memiliki kemampuan untuk mengubah file atau data DNS situs atau domain Anda secara terprogram.

Ringkasan

Anda dapat menggunakan Google Site Verification API untuk mengubah data verifikasi situs Google milik pengguna. Pengguna hanya dapat mengakses layanan Google tertentu jika data verifikasi mereka menunjukkan bahwa mereka adalah pemilik domain situs tertentu. Anda dapat menggunakan API untuk membuat token verifikasi bagi pengguna terautentikasi, yang dapat ditempatkan dengan berbagai cara di situs atau data domain Anda atas nama mereka. Setelah token diterapkan, Anda melakukan panggilan ke API untuk meminta Google memeriksa token. Jika Google menemukan token, token tersebut akan mendaftarkan pengguna yang diautentikasi sebagai pemilik situs atau domain. Anda juga dapat menggunakan API untuk mengubah daftar kepemilikan atas nama pengguna, atau untuk menghapus kepemilikan situs sepenuhnya.

Semua panggilan API harus diberi otorisasi oleh pengguna terautentikasi, dan semua panggilan API dijalankan dalam konteks akun pengguna yang diautentikasi.

Sebagai contoh konkret tentang kapan Anda mungkin menggunakan API ini, anggaplah Anda menyediakan layanan hosting web. Pengguna Anda ingin dapat menggunakan Search Console Google untuk mendapatkan informasi tentang situs mereka. Agar dapat melakukannya, Google perlu mengetahui bahwa organisasi tersebut benar-benar pemiliknya. Jadi, Anda memberikan antarmuka yang meminta pengguna untuk memverifikasi kepemilikan mereka atas situs tersebut. Mereka memberikan aplikasi Anda akses ke data verifikasi, dan sekarang dapat mengeksekusi kode yang meminta token atas nama mereka, menempatkannya dalam file di struktur situs mereka, dan meminta Google untuk memeriksanya. Saat menemukan token, Google akan memberikan kepemilikan situs kepada pengguna dengan memperbarui data verifikasinya. Mereka kini dapat menggunakan Search Console untuk mendapatkan informasi yang diinginkan.

Sebelum memulai

Dapatkan Akun Google

Pastikan Anda telah menyiapkan Akun Google. Sebaiknya gunakan Akun Google terpisah untuk tujuan pengembangan dan pengujian agar tidak terjadi kehilangan data yang tidak disengaja.

Memahami Verifikasi Situs

Jika Anda belum memahami konsep Google Site Verification API, sebaiknya baca dokumen ini, lakukan eksperimen dengan antarmuka pengguna verifikasi, dan baca dokumentasi bantuan terkait sebelum mulai membuat kode.

Pelajari cara mengizinkan permintaan

Setiap permintaan yang dikirimkan aplikasi Anda ke Google Site Verification API harus menyertakan token otorisasi. Token ini juga mengidentifikasi aplikasi Anda ke Google.

Tentang protokol otorisasi

Aplikasi Anda harus menggunakan OAuth 2.0 untuk mengizinkan permintaan. Tidak ada protokol otorisasi lain yang didukung. Jika aplikasi Anda menggunakan Login Dengan Google, beberapa aspek otorisasi akan ditangani untuk Anda.

Mengizinkan permintaan dengan OAuth 2.0

Semua permintaan ke Google Site Verification API harus diizinkan oleh pengguna terautentikasi.

Detail proses otorisasi, atau "alur", untuk OAuth 2.0 bervariasi bergantung pada jenis aplikasi yang Anda tulis. Proses umum berikut berlaku untuk semua jenis aplikasi:

  1. Saat membuat aplikasi, Anda mendaftarkannya menggunakan Konsol Google API. Selanjutnya, Google menyediakan informasi yang akan Anda perlukan nanti, seperti ID klien dan rahasia klien.
  2. Aktifkan Google Site Verification API di Google API Console. (Jika API tidak tercantum di Konsol API, lewati langkah ini.)
  3. Saat memerlukan akses ke data pengguna, aplikasi Anda akan meminta cakupan akses tertentu kepada Google.
  4. Google menampilkan layar izin kepada pengguna, yang meminta mereka mengizinkan aplikasi Anda untuk meminta beberapa data.
  5. Jika pengguna menyetujui, Google akan memberikan token akses berumur singkat ke aplikasi Anda.
  6. Aplikasi Anda meminta data pengguna, dengan menambahkan token akses ke permintaan.
  7. Jika Google menentukan bahwa permintaan Anda dan token tersebut valid, data yang diminta akan ditampilkan.

Beberapa alur mencakup langkah tambahan, seperti penggunaan token refresh untuk memperoleh token akses baru. Informasi selengkapnya tentang alur untuk berbagai jenis aplikasi dapat dilihat di dokumentasi OAuth 2.0 Google.

Berikut adalah informasi cakupan OAuth 2.0 untuk Google Site Verification API:

Cakupan Arti
https://www.googleapis.com/auth/siteverification Akses baca penuh untuk situs terverifikasi yang sudah ada, kemampuan untuk memverifikasi situs baru.
https://www.googleapis.com/auth/siteverification.verify_only Kemampuan untuk memverifikasi situs baru, tidak memiliki akses baca untuk situs terverifikasi yang ada.

Untuk meminta akses menggunakan OAuth 2.0, aplikasi Anda memerlukan informasi cakupan, serta informasi yang disediakan oleh Google saat Anda mendaftarkan aplikasi (seperti ID klien dan rahasia klien).

Tips: Library klien Google API dapat menangani beberapa proses otorisasi secara otomatis. Library klien ini tersedia untuk berbagai bahasa pemrograman. Periksa halaman yang menjelaskan library beserta contohnya untuk mendapatkan informasi lebih mendetail.

Latar belakang Google Site Verification API

Konsep

Anda dapat menggunakan Google Site Verification API untuk menetapkan kepemilikan pengguna atas jenis resource web berikut:

  • Domain: Domain atau subdomain. Pemilik domain dianggap sebagai pemilik semua situs dan subdomain dalam domain tersebut. Misalnya, pemilik langsung bar.com juga dianggap sebagai pemilik tidak langsung foo.bar.com.
  • Situs: URL yang sesuai dengan domain dasar dan jalur situs. Pemilik situs dianggap sebagai pemilik semua situs di bawahnya. Misalnya, pemilik “http://www.example.com/site” juga dianggap sebagai pemilik “http://www.example.com/site/subsite”.

Karena kepemilikan domain lebih luas daripada kepemilikan situs, sebaiknya lakukan verifikasi dengan domain jika memungkinkan.

Proses pembuatan kepemilikan dimulai dengan aplikasi yang meminta “token verifikasi” atas nama pengguna. Token verifikasi adalah string khusus yang harus ditempatkan oleh kode Anda di situs atau domain mereka. Setelah token diterapkan, aplikasi Anda dapat membuat permintaan ke Google Site Verification API yang memeriksa token dan mencatat kepemilikan saat token ditemukan.

Batasan

Demi alasan keamanan dan teknis, Google Site Verification API menerapkan beberapa batasan tentang cara penggunaannya:

  • Akses data hanya untuk pengguna terautentikasi: Semua operasi memerlukan autentikasi dan otorisasi pengguna.
  • Verifikasi hanya untuk pengguna yang diautentikasi: API hanya dapat memverifikasi kepemilikan situs atau domain untuk akun yang saat ini diautentikasi. Namun, pengguna terautentikasi dapat mendelegasikan kepemilikan kepada pengguna lain setelah kepemilikan mereka atas sebuah situs telah diverifikasi. Perhatikan bahwa semua pemilik akan diberi tahu melalui email setiap kali perubahan dilakukan pada daftar kepemilikan.
  • Hanya URL dan nama domain yang dinormalkan. Google Site Verification API tidak mendukung encoding IDN (International Domain Name). Pastikan untuk menormalkan semua URL, nama domain, dan domain alamat email ke himpunan karakter nama domain standar (RFC 1034 §3.5) menggunakan Punycoding jika perlu.

Metode verifikasi dan token

API tersebut memberikan panggilan untuk fase verifikasi terpisah:

  • Menempatkan token verifikasi: Ada panggilan API untuk mengambil token verifikasi agar ditempatkan di situs pengguna yang diautentikasi. Jika pengguna memiliki lebih dari satu situs, Anda harus mendapatkan token yang berbeda untuk setiap situs.
  • Memeriksa keberadaan token verifikasi: Ada panggilan API terpisah untuk meminta Google memeriksa token guna memverifikasi bahwa pengguna yang diautentikasi memiliki situs.

Ada beberapa metode untuk memverifikasi situs atau domain yang dapat digunakan aplikasi Anda. Metode yang Anda pilih bergantung pada metode yang paling cocok untuk kebutuhan Anda. Lokasi untuk menempatkan token, serta jenis token itu sendiri, bergantung pada metode verifikasi yang Anda pilih.

Metode verifikasi domain

Ada dua metode verifikasi yang tersedia untuk domain:

CNAME_DNS

Aplikasi Anda membuat data CNAME baru untuk domain pemilik, kemungkinan melalui registrar domainnya, menggunakan token untuk data record. Token ini terdiri dari dua bagian yang dipisahkan oleh spasi: bagian pertama adalah nama data CNAME baru, bagian kedua adalah nilai data CNAME baru.

DNS_TXT

Aplikasi Anda membuat data TXT baru untuk domain pemilik, kemungkinan melalui registrar domainnya, menggunakan token untuk data record.

Lihat dokumentasi pusat bantuan tentang metode verifikasi DNS untuk mengetahui informasi lebih lanjut.

Metode verifikasi situs

Ada tiga metode verifikasi yang tersedia untuk situs:

File
Aplikasi Anda menempatkan token, dalam bentuk file, di situs pemilik. Anda harus membuat file, yang diberi nama agar cocok dengan string token, dengan konten berikut:
google-site-verification: token

Misalnya, jika pengguna memiliki situs http://www.example.com/, dan token yang ditampilkan adalah google12cfc68677988bb4.html, Anda hanya perlu membuat file di http://www.example.com/google12cfc68677988bb4.html (di tingkat teratas situs), dengan konten berikut:

google-site-verification: google12cfc8677988bb4.html

Lihat dokumentasi pusat bantuan tentang Metode verifikasi file untuk mengetahui informasi selengkapnya.

Meta

Aplikasi Anda menyisipkan token, dalam bentuk tag <meta> HTML, dalam elemen <head> file default (index.html, default.html, dll.) di tingkat teratas pada situs pemilik. File HTML dengan token verifikasi Meta mungkin terlihat seperti ini:

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

Lihat dokumentasi pusat bantuan tentang Metode verifikasi meta untuk informasi selengkapnya.

Analisis

Aplikasi Anda menggunakan kode pelacakan Google Analytics yang ada yang sudah ada di situs web pemilik. Kode pelacakan harus merupakan bagian dari akun Analytics, dan cuplikan harus berada di tag HEAD agar berfungsi. Lihat dokumentasi pusat bantuan tentang Metode verifikasi Analytics untuk informasi selengkapnya.

Tag Manager

Aplikasi Anda menggunakan kode penampung Google Tag Manager yang sudah ada yang ada di situs pemilik. Kode penampung harus milik akun Tag Manager-nya. Lihat dokumentasi pusat bantuan tentang metode verifikasi Tag Manager untuk mengetahui informasi selengkapnya.

Sebaiknya Anda memahami konsep dan alur kerja inti jika pertama kali Anda mencoba memverifikasi beberapa situs secara manual dengan antarmuka pengguna Verifikasi Situs.

Model data

Resource Web

Google Site Verification API menerapkan semantik REST (HTTP GET, POST, dll.) ke entity yang disebut resource web. Resource Web adalah situs atau domain milik pengguna terautentikasi.

Berikut adalah contoh resource web:

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

Kolom id adalah ID unik untuk resource web ini. Anda dapat menggunakannya untuk merujuk pada resource web khusus ini untuk pengambilan dan modifikasi. Simpan kolom id dari output operasi list untuk digunakan nanti sebagai ID.

Objek site berisi URL atau nama domain resource web, dan jenis resource. Situs ditentukan dengan jenis SITE; domain ditentukan dengan jenis INET_DOMAIN.

Array owners adalah daftar lengkap pemilik resource web, yang diwakili oleh alamat email mereka. Dengan menambahkan atau menghapus alamat email dari daftar pemilik, pengguna terautentikasi dapat memberikan kepemilikan bersama atau mencabut kepemilikan untuk pengguna lain. Pemilik tambahan yang telah menempatkan tokennya sendiri pada situs atau domain juga muncul di daftar pemilik, bersama dengan rekan pemilik mereka.

Pengguna yang telah diberikan kepemilikan bersama juga dapat memberikan kepemilikan bersama, selama ada setidaknya satu pemilik terverifikasi dengan token di situs.

Pengumpulan Resource Web

Koleksi resource web adalah listingan lengkap semua resource web milik pengguna yang terautentikasi. Anda dapat memverifikasi kepemilikan situs atau domain hanya dengan mencoba menambahkan sumber daya web baru ke koleksi sumber daya web pengguna yang diautentikasi. Hanya situs atau domain terverifikasi yang berhasil ditambahkan ke koleksinya.

Seperti yang dinyatakan sebelumnya di bagian Batasan, resource web milik pengguna selain pengguna yang diautentikasi tidak dapat diakses melalui Site Verification API.