इंडेक्स करने वाले API (एपीआई) से जुड़ी ज़रूरी शर्तें

इंडेक्स करने वाले एपीआई का इस्तेमाल करने से पहले, कुछ ऐसी चीज़ें हैं जिन्हें आपने पहले से नहीं किया है, तो उन्हें कर लेना आपके लिए ज़रूरी है:

अपने क्लाइंट के लिए प्रोजेक्ट बनाना

इंडेक्स करने वाले एपीआई को अनुरोध भेज पाने के लिए, यह जरूरी है कि आप पहले Google को अपने क्लाइंट के बारे में बताएं और एपीआई इस्तेमाल करने की सुविधा चालू करें. ऐसा आप 'Google एपीआई कंसोल' के ज़रिए प्रोजेक्ट बनाने के लिए करते हैं. यह प्रोजेक्ट सेटिंग और एपीआई के इस्तेमाल की जानकारी वाले समूह का एक नाम है. साथ ही, अपना ऐप्लिकेशन रजिस्टर करें.

इंडेक्स करने वाले एपीआई का इस्तेमाल शुरू करने से पहले सेटअप टूल का इस्तेमाल करना ज़रूरी है. यह आपको 'Google एपीआई कंसोल' में प्रोजेक्ट बनाने, एपीआई की सुविधा चालू करने और क्रेडेंशियल बनाने के बारे में जानकारी देता है.

सेवा खाता बनाना

  1. सेवा खातों वाला पेज खोलें. पूछें जाने पर, प्रोजेक्ट चुनें.
  2. सेवा खाता बनाएं पर क्लिक करें.
  3. सेवा खाता बनाएं विंडो में, सेवा खाते के लिए एक नाम लिखें और नई निजी कुंजी बनाएं चुनें. अगर आप सेवा खातों में G Suite domain-wide authority चालू करना चाहते हैं, तो G Suite Domain-wide Delegation चालू करें भी चुनें. इसके बाद सेव करें पर क्लिक करें.

अापकी नई सार्वजनिक/निजी कुंजी आपके कंप्यूटर में बनाई और डाउनलोड की जाती है. इस कुंजी की कोई दूसरी कॉपी नहीं होती. इसे सुरक्षित तौर पर संभालने की ज़िम्मेदारी आपकी है.

Search Console में साइट के मालिकाना हक की पुष्टि करना

यह तरीका अपनाकर आप इस बात की पुष्टि करेंगे कि आप अपनी वेब प्रॉपर्टी को नियंत्रित करते हैं.

अपनी साइट के मालिकाना हक की पुष्टि करने के लिए:

  1. अपनी प्रॉपर्टी के मालिकाना हक की पुष्टि करने के लिए सुझाया गया तरीका अपनाएं.
  2. प्रॉपर्टी के मालिकाना हक की पुष्टि हो जाने के बाद, Search Console खोलें.
  3. उस प्रॉपर्टी के नाम पर क्लिक करें, जिसकी पुष्टि हो चुकी है.
  4. पुष्टि की जा चुकी प्रॉपर्टी के नाम के बगल में मौजूद 'सेटिंग' के गियर पर जाकर पुष्टि की जानकारी चुनें.
  5. इन मालिकों की पुष्टि हो चुकी है वाले सेक्शन के नीचे मौजूद मालिक जोड़ें पर क्लिक करें.
  6. प्रॉपर्टी के मालिक के रूप में अपने सेवा खाते का ईमेल पता जोड़ें. आप अपने सेवा खाते का ईमेल पता दो जगहों पर पा सकते हैं:
    • अपना प्रोजेक्ट बनाते समय डाउनलोड की गई JSON निजी कुंजी में मौजूद client_email फ़ील्ड में.
    • Developer Console के सेवा खाते वाले व्यू में सेवा खाता आईडी कॉलम में.

    ईमेल पते का फ़ॉर्मैट नीचे दिए गए फ़ॉर्मैट जैसा होता है:

    my-service-account@project-name.google.com.iam.gserviceaccount.com

    उदाहरण के लिए, "my-service-account@test-project-42.google.com.iam.gserviceaccount.com".

एक्सेस टोकन पाना

इंडेक्स करने वाले API (एपीआई) को कॉल करने के लिए, कॉल की पुष्टि OAuth टोकन से की जानी चाहिए. यह टोकन आपको अपनी निजी कुंजी डालने पर मिलता है. Google कई मशीन लैंग्वेज के लिए एपीआई क्लाइंट लाइब्रेरी की सुविधा देता है, जिनके ज़रिए आपको OAuth टोकन मिल सकते हैं.

ज़रूरी बातें

इंडेक्स करने वाले एपीआई को अनुरोध सबमिट करते समय आपके अनुरोध में नीचे दी गई चीज़ें होनी चाहिए:

  1. स्कोप के तौर पर https://www.googleapis.com/auth/indexing का इस्तेमाल करें.
  2. एपीआई का इस्तेमाल करना में दिए गए एंडपॉइंट में से किसी एक का इस्तेमाल करें.
  3. अनुरोध में सेवा खाते का एक्सेस टोकन शामिल करें.
  4. एपीआई का इस्तेमाल करना में दिए गए कोड के हिसाब से अनुरोध का कोड डालें.

उदाहरण

नीचे दिए गए उदाहरणों में OAuth एक्सेस टोकन पाने का तरीका बताया गया है:

Python के लिए

Python के लिए Google एपीआई क्लाइंट लाइब्रेरी का इस्तेमाल करके OAuth टोकन पाएं:

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. 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 के लिए

Java के लिए Google एपीआई क्लाइंट लाइब्रेरी का इस्तेमाल करके OAuth टोकन पाएं:

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 के लिए

PHP के लिए Google एपीआई क्लाइंट लाइब्रेरी का इस्तेमाल करके OAuth टोकन पाएं:

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 के लिए

Node.js के लिए Google एपीआई क्लाइंट लाइब्रेरी का इस्तेमाल करके OAuth टोकन पाएं.

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);
  });
});

टोकन पाने के तरीकों के अलावा, इन उदाहरणों में यह भी बताया गया है कि आप अनुरोध वाले मैसेज में कोड कहां जोड़ सकते हैं. आप किस तरह के कॉल कर सकते हैं, और उन कॉल के लिए मैसेज की बॉडी में क्या लिखा होना चाहिए यह सब जानने के लिए API (एपीआई) का इस्तेमाल करना देखें.

निम्न के बारे में फ़ीडबैक भेजें...