ইন্ডেক্সিং এপিআইয়ের পূর্বশর্ত

আগে না করে থাকলে ইন্ডেক্সিং এপিআইয়ের ব্যবহার শুরু করার আগে আপনাকে এগুলি করতে হবে:

আপনার ক্লায়েন্টের জন্য একটি প্রোজেক্ট তৈরি করা

ইন্ডেক্সিং এপিআইয়ে অনুরোধ পাঠানোর আগে আপনাকে আপনার ক্লায়েন্ট সম্পর্কে Google-কে জানাতে হবে এবং এপিআইয়ে অ্যাক্সেস চালু করতে হবে। এটি করতে Google এপিআই কনসোল ব্যবহার করে আপনাকে একটি প্রোজেক্ট, যেটি হল সেটিংস ও এপিআই অ্যাক্সেসের তথ্যের নামকরণ করা একটি সংগ্রহ, তৈরি করতে হবে। তারপরে আপনার অ্যাপ্লিকেশন নথিভুক্ত করতে হবে।

ইন্ডেক্সিং এপিআই ব্যবহার করা শুরু করতে প্রথমে সেট-আপ টুল ব্যবহার করুন। এটি আপনাকে Google এপিআই কনসোল ব্যবহার করে প্রোজেক্ট তৈরি করা, এপিআই চালু করা ও ক্রেডেনশিয়াল তৈরি করার সময় গাইড করে।

পরিষেবার অ্যাকাউন্ট তৈরি করা

  1. পরিষেবার অ্যাকাউন্টের পৃষ্ঠা খুলুন। জিজ্ঞাসা করলে, একটি প্রোজেক্ট বেছে নিন।
  2. পরিষেবার অ্যাকাউন্ট তৈরি করাতে ক্লিক করুন।
  3. পরিষেবার অ্যাকাউন্ট তৈরি করা উইন্ডোতে পরিষেবার অ্যাকাউন্টের একটি নাম লিখুন, তারপরে একটি ব্যক্তিগত কী প্রদান করুন বেছে নিন। পরিষেবার অ্যাকাউন্টকে G Suite ডোমেন ব্যাপী অধিকার দিতে চাইলে G Suite ডোমেন ব্যাপী ডেলিগেশন চালু করুন বিকল্পটিও বেছে নিন। তারপরে সেভ-এ ক্লিক করুন।

আপনার নতুন এক জোড়া সর্বজনীন/ব্যক্তিগত কী জেনারেট হয়ে আপনার মেশিনে ডাউনলোড হয়ে গেছে; এটি আপনার কী-এর একমাত্র কপি হিসেবে কাজ করে। আপনি এটি নিরাপদে সংরক্ষণ করার ব্যাপারে দায়বদ্ধ।

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"

অ্যাক্সেস টোকেন পান

ইন্ডেক্সিং এপিআইকে কল করতে, কলটি ব্যক্তিগত কী-এর বিনিময়ে পাওয়া OAuth টোকেন দ্বারা যাচাই করা হতে হবে। Google-এর এপিআই ক্লায়েন্ট লাইব্রেরি থেকে একাধিক ভাষার জন্য OAuth টোকেন পাওয়া যায়।

প্রয়োজন

ইন্ডেক্সিং এপিআইতে অনুরোধ জমা দেওয়ার সময় আপনার অনুরোধে:

  1. স্কোপ হিসেবে https://www.googleapis.com/auth/indexing ব্যবহার করুন।
  2. এপিআই ব্যবহার করার বর্ণনা অনুযায়ী যেকোনও একটি এন্ডপয়েন্ট ব্যবহার করুন।
  3. পরিষেবার অ্যাকাউন্টের অ্যাক্সেস টোকেন যোগ করুন।
  4. এপিআই ব্যবহার করার বর্ণনা অনুযায়ী অনুরোধের মূল অংশ লিখুন।

উদাহরণ

OAuth অ্যাক্সেস টোকেন কীভাবে পাওয়া যায় তা নিচের উদাহরণগুলি থেকে দেখুন:

Python

OAuth টোকেন পেতে Python-এর জন্য Google এপিআই ক্লায়েন্ট লাইব্রেরি-এর ব্যবহার:

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)

জাভা

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

OAuth টোকেন পেতে 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

OAuth টোকেন পেতে 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);
  });
});

এই উদাহরণগুলি থেকে টোকেন পাওয়ার পদ্ধতি সহ অনুরোধের মেসেজের মূল অংশ কোথায় যোগ করবেন তাও জানতে পারবেন। আপনি কোন ধরনের কল করতে পারেন এবং মেসেজের মূল অংশে সেই কলগুলি কীভাবে লিখতে হবে সেই বিষয়ে আরও জানতে এপিআই ব্যবহার করা নিবন্ধটি দেখুন।

Send feedback about...

সার্চ
সার্চ