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

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

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

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

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

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

  1. পরিষেবার অ্যাকাউন্টের পৃষ্ঠা খুলুন। জিজ্ঞাসা করা হলে, একটি প্রোজেক্ট বেছে নিন।
  2. add পরিষেবা অ্যাকাউন্ট তৈরি করুন বিকল্পে ক্লিক করুন, পরিষেবা অ্যাকাউন্টে নাম এবং বিবরণ লিখুন। আপনি ডিফল্ট পরিষেবা অ্যাকাউন্ট আইডি ব্যবহার করতে পারেন অথবা ভিন্ন একটি আইডি যেটি অনন্য তা বেছে নিতে পারেন। শেষ হয়ে গেলে তৈরি করুন বিকল্পে ক্লিক করুন।
  3. পরিষেবা অ্যাকাউন্টের অনুমতি (ঐচ্ছিক) বিভাগটির প্রয়োজন নেই। চালিয়ে যান বিকল্পে ক্লিক করুন।
  4. এই পরিষেবা অ্যাকাউন্টের জন্য ব্যবহারকারীকে অ্যাক্সেসের অনুমোদন দিতে স্ক্রিন, স্ক্রল ডাউন করে কী তৈরি করুন বিভাগে যান। add কী তৈরি করুন বিকল্পে ক্লিক করুন।
  5. সাইড প্যানেল যেটি দেখা যাচ্ছে, তাতে আপনার কী-এর ফর্ম্যাট বেছে নিন: JSON সাজেস্ট করা হয়েছে।
  6. তৈরি করুন বিকল্পে ক্লিক করুন। এক জোড়া নতুন সর্বজনীন/ব্যক্তিগত কী তৈরি হয়ে আপনার মেশিনে ডাউনলোড হয়ে যাবে; এটি আপনার কী-এর একমাত্র কপি হিসেবে কাজ করবে। নিরাপদে এটি কীভাবে স্টোর করবেন, সেই তথ্য জানতে পরিষেবা অ্যাকাউন্ট কী ম্যানেজ করা লিঙ্কটি দেখুন।
  7. আপনার কম্পিউটারে ব্যক্তিগত কী সেভ করা হয়েছে ডায়লগের বন্ধ করুন বিকল্পে ক্লিক করুন, তারপরে আপনার পরিষেবা অ্যাকাউন্টের সারণীতে ফিরে আসতে হয়ে গেছে বিকল্পে ক্লিক করুন।

নিচে উল্লেখ করা ধাপগুলি শুধুমাত্র তখনই প্রয়োজন যখন পরিষেবা অ্যাকাউন্টে আপনি G Suite-কে সমস্ত ডোমেন জুড়ে অ্যাক্সেসের অনুমতির অনুমোদন দেবেন।

  1. সারণীতে নতুন যে পরিষেবা অ্যাকাউন্ট তৈরি হয়েছে তা লোকেশন নির্দিষ্ট করুন। অ্যাকশন বিকল্পে যান, more_vert তারপরে এডিট করুন বিকল্পে ক্লিক করুন।
  2. পরিষেবা অ্যাকাউন্টের বিবরণে expand_more সমস্ত ডোমেন জুড়ে অ্যাক্সেসের অনুমতি দেখুন বিকল্পে ক্লিক করুন, তারপরে G Suite-এর সমস্ত ডোমেন জুড়ে অ্যাক্সেসের অনুমতি সংক্রান্ত চেকবক্স চেক করা হয়েছে কিনা তা দেখে নিন।
  3. আপনার অ্যাপের OAuth সংক্রান্ত সম্মতি স্ক্রিন যদি আপনি এখনও কনফিগার না করে থাকেন, তাহলে সমস্ত ডোমেন জুড়ে অ্যাক্সেসের অনুমোদন দেওয়ার আগে আপনি এটি অবশ্যই করে নেবেন। OAuth সংক্রান্ত সম্মতি কনফিগার করতে স্ক্রিনে দেওয়া নির্দেশ অনুসরণ করুন তারপরে উপরে উল্লেখ করা ধাপ আবার অনুসরণ করে চেকবক্স আবার চেক করুন।
  4. পরিষেবা অ্যাকাউন্ট আপডেট করতে সেভ করুন বিকল্পে ক্লিক করুন এবং পরিষেবা অ্যাকাউন্টের সারণীতে ফিরে যান। নতুন কলাম, সমস্ত ডোমেন জুড়ে অ্যাক্সেসের অনুমতি দেখা যেতে পারে। ক্লায়েন্ট আইডি জানতে এবং সেই সম্পর্কে নোট তৈরি করতে ক্লায়েন্ট আইডি দেখুন বিকল্পটিতে ক্লিক করুন।

Search Console-এ সাইটের মালিকানা যাচাই করা

এই ধাপে, ওয়েব প্রপার্টির উপর আপনার নিয়ন্ত্রণ আপনি যাচাই করতে পারবেন।

আপনার সাইটের মালিকানা যাচাই করতে:

  1. আপনার প্রপার্টির মালিকানা যাচাই করার জন্য সাজেস্ট করা ধাপগুলি অনুসরণ করুন।
  2. প্রপার্টি যাচাই করা হয়ে গেলে Search Console খুলুন।
  3. আপনার যাচাই করা প্রপার্টিতে ক্লিক করুন।
  4. যাচাই করা প্রপার্টির পাশে সেটিংস গিয়ার থেকে যাচাইয়ের বিবরণ বেছে নিন।
  5. যাচাই করা মালিক বিকল্প থেকে একজন মালিক যোগ করুন বিকল্পে ক্লিক করুন।
  6. প্রপার্টির একজন মালিক হিসেবে আপনার পরিষেবা অ্যাকাউন্টের ইমেল আইডি যোগ করুন। আপনার পরিষেবা অ্যাকাউন্টের ইমেল আইডি আপনি দুটি জায়গায় খুঁজে পাবেন:
    • প্রোজেক্ট তৈরি করার সময় যে JSON ব্যক্তিগত কী আপনি ডাউনলোড করেছিলেন সেটির client_email থেকে পাবেন।
    • ডেভেলপার কনসোল-এর পরিষেবার অ্যাকাউন্টের ভিউয়ের পরিষেবার অ্যাকাউন্টের আইডি কলাম থেকে পাবেন।

    ইমেল আইডিটি নিম্নলিখিত ফর্ম্যাটে থাকে:

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

    যেমন, "my-service-account@test-project-42.google.com.iam.gserviceaccount.com"

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

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

প্রয়োজনীয়তা

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

  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...

সার্চ
সার্চ