Prasyarat untuk Indexing API
Sebelum Anda mulai menggunakan Indexing API, ada beberapa hal yang perlu dilakukan, jika Anda belum melakukannya:
- Membuat project untuk klien Anda
- Membuat akun layanan
- Menambahkan akun layanan sebagai pemilik situs
- Mendapatkan token akses
Membuat project untuk klien Anda
Agar dapat mengirim permintaan ke Indexing API, Anda perlu memberi tahu Google tentang klien dan mengaktifkan akses ke API. Caranya adalah dengan menggunakan Konsol API Google untuk membuat project, yaitu kumpulan bernama yang terdiri dari setelan dan informasi akses API, dan mendaftarkan aplikasi Anda.
Untuk mulai menggunakan Indexing API, pertama-tama Anda harus menggunakan alat penyiapan, yang memandu Anda menyelesaikan pembuatan project di Konsol Google API, mengaktifkan API, dan membuat kredensial.
Membuat akun layanan
- Buka halaman Akun layanan. Jika diminta, pilih sebuah project.
- Klik Buat Akun Layanan, masukkan nama dan deskripsi untuk akun layanan. Anda dapat menggunakan ID akun layanan default, atau memilih ID yang berbeda dan unik. Setelah selesai, klik Buat.
- Bagian Izin akun layanan (opsional) yang ditampilkan setelahnya tidak diperlukan. Klik Lanjutkan.
- Pada layar Beri pengguna akses ke akun layanan ini, scroll ke bawah ke bagian Buat kunci. Klik Buat kunci.
- Di panel samping yang ditampilkan, pilih format untuk kunci Anda: JSON direkomendasikan.
- Klik Buat. Pasangan kunci umum/pribadi baru Anda dibuat dan didownload ke komputer, dan berfungsi sebagai satu-satunya salinan dari kunci ini. Untuk informasi cara menyimpannya dengan aman, lihat Mengelola kunci akun layanan.
- Klik Tutup pada dialog Kunci pribadi disimpan ke komputer Anda, lalu klik Selesai untuk kembali ke tabel akun layanan.
Menambahkan akun layanan sebagai pemilik situs
Untuk menambahkan akun layanan sebagai pemilik situs:
- Pertama-tama, buktikan bahwa Anda pemilik situs melalui Search Console, lalu
- Tambahkan akun layanan Anda sebagai pemilik.
1. Buktikan bahwa Anda pemilik situs
Verifikasi kepemilikan situs
menggunakan Search Console.
Anda dapat menggunakan metode verifikasi apa pun yang didukung oleh Search Console. Anda dapat membuat
Properti domain (example.com
) atau Properti awalan URL (https://example.com
atau https://example.com/some/path/
) untuk mewakili situs Anda (perhatikan bahwa situs disebut
properti di Search Console).
2. Berikan status pemilik ke akun layanan Anda
Lalu, tambahkan akun layanan Anda sebagai pemilik situs (yang didelegasikan):
- Buka Search Console.
- Klik properti yang ingin diverifikasi kepemilikannya.
- Di daftar Pemilik terverifikasi, klik Tambahkan pemilik.
- Berikan email akun layanan Anda sebagai pemilik yang didelegasikan. Anda dapat menemukan alamat email
akun layanan di dua tempat:
- Kolom
client_email
di kunci pribadi JSON yang Anda download saat Anda membuat project. - Kolom ID akun layanan dari tampilan Akun Layanan di Konsol Google Cloud.
my-service-account@project-name.google.com.iam.gserviceaccount.com
Misalnya: my-service-account@test-project-42.google.com.iam.gserviceaccount.com - Kolom
Mendapatkan token akses
Setiap panggilan ke Indexing API harus diautentikasi dengan token OAuth yang Anda peroleh untuk mendapatkan kunci pribadi. Setiap token dapat digunakan dalam jangka waktu tertentu. Google menyediakan library klien API guna mendapatkan token OAuth untuk sejumlah bahasa.
Persyaratan
Saat mengirim permintaan ke Indexing API, permintaan Anda harus:
- Menggunakan
https://www.googleapis.com/auth/indexing
sebagai cakupan. - Menggunakan salah satu endpoint yang dijelaskan dalam Menggunakan API.
- Menyertakan token akses akun layanan.
- Menentukan isi permintaan seperti yang dijelaskan dalam Menggunakan API.
Contoh
Contoh berikut menunjukkan cara mendapatkan token akses OAuth:
Python
Mendapatkan token OAuth menggunakan Library Klien Google API untuk Python:
from oauth2client.service_account import ServiceAccountCredentials import httplib2 SCOPES = [ "https://www.googleapis.com/auth/indexing" ] ENDPOINT = "https://indexing.googleapis.com/v3/urlNotifications:publish" # service_account_file.json is the private key that you created for your service account. JSON_KEY_FILE = "service_account_file.json" credentials = ServiceAccountCredentials.from_json_keyfile_name(JSON_KEY_FILE, scopes=SCOPES) http = credentials.authorize(httplib2.Http()) # Define contents here as a JSON string. # This example shows a simple update request. # Other types of requests are described in the next step. content = """{ \"url\": \"http://example.com/jobs/42\", \"type\": \"URL_UPDATED\" }""" response, content = http.request(ENDPOINT, method="POST", body=content)
Java
Mendapatkan token OAuth menggunakan Library Klien API untuk Java:
String scopes = "https://www.googleapis.com/auth/indexing"; String endPoint = "https://indexing.googleapis.com/v3/urlNotifications:publish"; JsonFactory jsonFactory = new JacksonFactory(); // service_account_file.json is the private key that you created for your service account. InputStream in = IOUtils.toInputStream("service_account_file.json"); GoogleCredential credentials = GoogleCredential.fromStream(in, this.httpTransport, jsonFactory).createScoped(Collections.singleton(scopes)); GenericUrl genericUrl = new GenericUrl(endPoint); HttpRequestFactory requestFactory = this.httpTransport.createRequestFactory(); // Define content here. The structure of the content is described in the next step. String content = "{" + "\"url\": \"http://example.com/jobs/42\"," + "\"type\": \"URL_UPDATED\"," + "}"; HttpRequest request = requestFactory.buildPostRequest(genericUrl, ByteArrayContent.fromString("application/json", content)); credentials.initialize(request); HttpResponse response = request.execute(); int statusCode = response.getStatusCode();
PHP
Mendapatkan token OAuth menggunakan Library Klien API untuk PHP:
require_once 'google-api-php-client/vendor/autoload.php'; $client = new Google_Client(); // service_account_file.json is the private key that you created for your service account. $client->setAuthConfig('service_account_file.json'); $client->addScope('https://www.googleapis.com/auth/indexing'); // Get a Guzzle HTTP Client $httpClient = $client->authorize(); $endpoint = 'https://indexing.googleapis.com/v3/urlNotifications:publish'; // Define contents here. The structure of the content is described in the next step. $content = '{ "url": "http://example.com/jobs/42", "type": "URL_UPDATED" }'; $response = $httpClient->post($endpoint, [ 'body' => $content ]); $status_code = $response->getStatusCode();
Node.js
Mendapatkan token OAuth menggunakan Library Klien Node.js:
var request = require("request"); var { google } = require("googleapis"); var key = require("./service_account.json"); const jwtClient = new google.auth.JWT( key.client_email, null, key.private_key, ["https://www.googleapis.com/auth/indexing"], null ); jwtClient.authorize(function(err, tokens) { if (err) { console.log(err); return; } let options = { url: "https://indexing.googleapis.com/v3/urlNotifications:publish", method: "POST", // Your options, which must include the Content-Type and auth headers headers: { "Content-Type": "application/json" }, auth: { "bearer": tokens.access_token }, // Define contents here. The structure of the content is described in the next step. json: { "url": "http://example.com/jobs/42", "type": "URL_UPDATED" } }; request(options, function (error, response, body) { // Handle the response console.log(body); }); });
Selain menunjukkan cara mendapatkan token, contoh tersebut menunjukkan tempat Anda dapat menambahkan bagian isi pesan permintaan. Untuk informasi tentang jenis panggilan yang dapat Anda buat dan struktur bagian isi pesan untuk panggilan tersebut, lihat Menggunakan API.