Google Workspace ডোমেন-ব্যাপী কর্তৃপক্ষের প্রতিনিধিত্ব সম্পাদন করুন

Google Cloud Search Query API-এর জন্য লাইসেন্সপ্রাপ্ত ডোমেন ব্যবহারকারীর দ্বারা কল অনুমোদিত হতে হবে। যেহেতু পরিষেবা অ্যাকাউন্টগুলি লাইসেন্সপ্রাপ্ত ডোমেন ব্যবহারকারী নয়, তাই তারা ডিফল্টরূপে Query API-তে কল করতে পারে না। Query API কল করার জন্য একটি পরিষেবা অ্যাকাউন্ট সক্ষম করতে, একজন ডোমেন প্রশাসক ডোমেন-ব্যাপী ডেলিগেশান অফ অথরিটি ব্যবহার করে পরিষেবা অ্যাকাউন্টটিকে আপনার ডোমেনের ব্যবহারকারীর ডেটাতে অ্যাক্সেস দিতে পারেন। ডেলিগেশান অথরিটি সহ একটি পরিষেবা অ্যাকাউন্ট ক্লাউড সার্চ অ্যাক্সেস সহ যেকোনো ব্যবহারকারীর ছদ্মবেশ ধারণ করতে পারে।

পরিষেবা অ্যাকাউন্ট এবং শংসাপত্র তৈরি করুন

যদি আপনার কাছে পরিষেবা অ্যাকাউন্টের শংসাপত্র না থাকে, তাহলে পরিষেবা অ্যাকাউন্টের শংসাপত্র তৈরি করুন দেখুন।

আপনার পরিষেবা অ্যাকাউন্টে ডোমেন-ওয়াইড কর্তৃত্ব অর্পণ করুন

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

কোনও পরিষেবা অ্যাকাউন্টে ডোমেন-ওয়াইড কর্তৃত্ব অর্পণ করতে:

  1. আপনার ডোমেনের অ্যাডমিন কনসোলে , প্রধান মেনু > নিরাপত্তা > অ্যাক্সেস এবং ডেটা নিয়ন্ত্রণ > API নিয়ন্ত্রণগুলিতে যান।
  2. ডোমেন ওয়াইড ডেলিগেশন প্যানে, ডোমেন ওয়াইড ডেলিগেশন পরিচালনা করুন নির্বাচন করুন।
  3. নতুন যোগ করুন ক্লিক করুন।
  4. ক্লায়েন্ট আইডি ক্ষেত্রে, আপনার পরিষেবা অ্যাকাউন্টের ক্লায়েন্ট আইডি লিখুন।
  5. OAuth Scopes ক্ষেত্রে, প্রয়োজনীয় স্কোপের একটি কমা দ্বারা পৃথক তালিকা লিখুন। অনুসন্ধান অ্যাপ্লিকেশনের জন্য https://www.googleapis.com/auth/cloud_search.query ব্যবহার করুন।
  6. অনুমোদন করুন ক্লিক করুন।

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

একটি ক্লাউড সার্চ এপিআই পরিষেবা অবজেক্ট তৈরি করুন

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

জাভা

import java.util.Collections;
import java.io.FileInputStream;
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.JsonFactory;
import com.google.api.services.cloudsearch.v1.CloudSearch;
import com.google.api.services.cloudsearch.v1.CloudSearchScopes;
...

/** Path to the Service Account's Private Key file */
private static final String SERVICE_ACCOUNT_FILE_PATH = "/path/to/key.json";

/**
 * Build and return a Cloud Search service object.
 *
 * @param userEmail The email of the user to impersonate.
 * @return CloudSearch service object.
 */
public static CloudSearch getCloudSearchAPIService(String userEmail)
    throws FileNotFoundException, IOException {

  FileInputStream credsFile = new FileInputStream(SERVICE_ACCOUNT_FILE_PATH);
  GoogleCredential init = GoogleCredential.fromStream(credsFile);

  HttpTransport httpTransport = init.getTransport();
  JsonFactory jsonFactory = init.getJsonFactory();

  GoogleCredential creds = new GoogleCredential.Builder()
      .setTransport(httpTransport)
      .setJsonFactory(jsonFactory)
      .setServiceAccountId(init.getServiceAccountId())
      .setServiceAccountPrivateKey(init.getServiceAccountPrivateKey())
      .setServiceAccountScopes(Collections.singleton(
          CloudSearchScopes.CLOUD_SEARCH_QUERY))
      .setServiceAccountUser(userEmail)
      .build();

  return new CloudSearch.Builder(httpTransport, jsonFactory, creds).build();
}

পাইথন

from google.oauth2 import service_account
from googleapiclient.discovery import build

# Path to the Service Account's Private Key file
SERVICE_ACCOUNT_FILE_PATH = "/path/to/key.json"

def create_query_api_service(user_email):
    """Build and return a Cloud Search service object.

    Args:
        user_email: The email of the user to impersonate.
    Returns:
        Cloud Search Query API service object.
    """
    credentials = service_account.Credentials.from_service_account_file(
        SERVICE_ACCOUNT_FILE_PATH,
        scopes=['https://www.googleapis.com/auth/cloud_search.query'])

    delegated_credentials = credentials.with_subject(user_email)

    return build("cloudsearch", "v1", credentials=delegated_credentials)