Node.js কুইকস্টার্ট

Directory API-তে অনুরোধ করে এমন একটি Node.js কমান্ড-লাইন অ্যাপ্লিকেশন তৈরি করুন।

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

এই কুইকস্টার্ট যাচাইকরণ ও অনুমোদনের ফ্লোয়ের কিছু বিবরণ ম্যানেজ করতে Google Workspace-এর সাজেস্ট করা API ক্লায়েন্ট লাইব্রেরি ব্যবহার করে।

উদ্দেশ্য

  • আপনার এনভায়রনমেন্ট সেট-আপ করুন।
  • ক্লায়েন্ট লাইব্রেরি ইনস্টল করুন।
  • স্যাম্পেল সেট-আপ করুন।
  • নমুনাটি চালান।

পূর্বশর্ত

এই কুইকস্টার্ট রান করতে, আপনার নিম্নলিখিত পূর্বপ্রয়োজনীয়তা থাকতে হবে:

  • API অ্যাক্সেস চালু করা Google Workspace ডোমেন।
  • অ্যাডমিনিস্ট্রেটরের বিশেষ সুবিধা সহ সেই ডোমেনে একটি Google অ্যাকাউন্ট।

আপনার পরিবেশ সেট-আপ করুন

এই কুইকস্টার্ট সম্পূর্ণ করতে, আপনার এনভায়র্নমেন্ট সেট-আপ করুন।

API চালু করুন

Google API ব্যবহার করার আগে, আপনাকে Google Cloud প্রোজেক্টে সেগুলি চালু করতে হবে। আপনি একটি Google Cloud প্রোজেক্টে এক বা একাধিক API চালু করতে পারবেন।

এই কুইকস্টার্ট সম্পূর্ণ করার জন্য আপনি নতুন Google Cloud প্রোজেক্ট ব্যবহার করলে, OAuth-এর সম্মতি সংক্রান্ত স্ক্রিন কনফিগার করুন। আপনি যদি আগেই আপনার ক্লাউড প্রোজেক্টের জন্য এই ধাপটি সম্পূর্ণ করে থাকেন, তাহলে পরবর্তী বিভাগে যান।

  1. Google API Console-এ, 'মেনু > Google Auth প্ল্যাটফর্ম > ব্র্যান্ডিং' বিকল্পে যান।

    ব্র্যান্ডিংয়ে যান

  2. আপনি যদি আগে থেকেই Google Auth প্ল্যাটফর্ম কনফিগার করে থাকেন, তাহলে আপনি ব্র্যান্ডিং, দর্শক এবং ডেটা অ্যাক্সেস-এ নিম্নলিখিত OAuth-এর সম্মতি সংক্রান্ত স্ক্রিন সেটিংস কনফিগার করতে পারবেন। আপনি যদি Google Auth প্ল্যাটফর্ম এখনও কনফিগার করা হয়নি লেখা মেসেজ দেখতে পান, তাহলে শুরু করুন বিকল্পে ক্লিক করুন:
    1. অ্যাপের তথ্য বিকল্পের অধীনে, অ্যাপের নাম বিকল্পে, অ্যাপের জন্য একটি নাম লিখুন।
    2. ব্যবহারকারীর সহায়তা সংক্রান্ত ইমেল বিকল্পে, এমন একটি সহায়তা ইমেল আইডি বেছে নিন যেখানে ব্যবহারকারীরা তাদের সম্মতি সম্পর্কে প্রশ্ন থাকলে আপনার সাথে যোগাযোগ করতে পারবেন।
    3. পরবর্তী বিকল্পে ক্লিক করুন।
    4. দর্শক বিকল্পের অধীনে, ইন্টার্নাল বিকল্প বেছে নিন।
    5. পরবর্তী বিকল্পে ক্লিক করুন।
    6. যোগাযোগের তথ্য বিকল্পের মধ্যে, একটি ইমেল আইডি লিখুন যেখানে আপনার প্রোজেক্টে কোনও পরিবর্তন হলে আপনাকে জানানো যেতে পারে।
    7. পরবর্তী বিকল্পে ক্লিক করুন।
    8. সম্পূর্ণ করুন বিকল্পের মধ্যে, Google API পরিষেবা সংক্রান্ত ব্যবহারকারীর ডেটা নীতি পর্যালোচনা করুন এবং আপনি সম্মতি জানালে, আমি Google API পরিষেবা সংক্রান্ত ব্যবহারকারীর ডেটা নীতিতে সম্মতি জানাচ্ছি বিকল্প বেছে নিন।
    9. চালিয়ে যান বিকল্পে ক্লিক করুন।
    10. তৈরি করুন বিকল্পে ক্লিক করুন।
  3. আপাতত, আপনি স্কোপ যোগ করা এড়িয়ে যেতে পারেন। ভবিষ্যতে, আপনার Google Workspace সংস্থার বাইরে ব্যবহার করার জন্য কোনও অ্যাপ তৈরি করলে, আপনাকে অবশ্যই ব্যবহারকারীর ধরন পরিবর্তন করে এক্সটার্নাল করতে হবে। তারপরে আপনার অ্যাপের প্রয়োজনীয় অনুমোদনের স্কোপ যোগ করুন। আরও জানতে, সম্পূর্ণ OAuth সম্মতি কনফিগার করুন গাইড দেখুন।

ডেস্কটপ অ্যাপ্লিকেশনের জন্য ক্রেডেনশিয়াল অনুমোদন করা

আপনার অ্যাপে ব্যবহারকারীর ডেটা অ্যাক্সেস করতে এবং এন্ড ইউজারকে যাচাই করতে, আপনাকে এক বা একাধিক OAuth 2.0 ক্লায়েন্ট আইডি তৈরি করতে হবে। Google-এর OAuth সার্ভারে একটি অ্যাপ শনাক্ত করতে ক্লায়েন্ট আইডি ব্যবহার করা হয়। আপনার অ্যাপ একাধিক প্ল্যাটফর্মে চললে, আপনাকে প্রতিটি প্ল্যাটফর্মের জন্য আলাদা ক্লায়েন্ট আইডি তৈরি করতে হবে।
  1. Google Cloud Console-এ, 'মেনু > Google Auth প্ল্যাটফর্ম > ক্লায়েন্ট' বিকল্পে যান।

    ক্লায়েন্টে যান

  2. ক্লায়েন্ট তৈরি করুন বিকল্পে ক্লিক করুন।
  3. অ্যাপ্লিকেশনের ধরন > ডেস্কটপ অ্যাপ বিকল্পে ক্লিক করুন।
  4. নাম ফিল্ডে, ক্রেডেনশিয়ালের জন্য একটি নাম টাইপ করুন। এই নাম শুধুমাত্র Google Cloud Console-এ দেখানো হয়।
  5. ঐচ্ছিক: আপনার অ্যাপ যদি এমন একটি AI এজেন্ট হয় যা ব্যবহারকারীদের হয়ে অ্যাকশন নেয়, তাহলে AI-পরিচালিত এজেন্টের জন্য এই ক্লায়েন্ট ব্যবহার করুন বিকল্পটি বেছে নিন। আপনার অ্যাপ যদি AI এজেন্ট ওয়ার্কফ্লো এবং স্ট্যান্ডার্ড ব্যবহারকারী ফিচার, দুটির সাথেই কাজ করে, তাহলে প্রতিটির জন্য আলাদা OAuth ক্লায়েন্ট তৈরি করুন। ক্লায়েন্ট তৈরি করার পরে আপনি এই সেটিং পরিবর্তন করতে পারবেন না।
  6. তৈরি করুন বিকল্পে ক্লিক করুন।

    নতুন তৈরি করা ক্রেডেনশিয়াল "OAuth 2.0 ক্লায়েন্ট আইডি" বিকল্পের অধীনে দেখা যায়।

  7. ডাউনলোড করা JSON ফাইলটি credentials.json হিসেবে সেভ করুন এবং ফাইলটি আপনার ওয়ার্কিং ডিরেক্টরিতে সরিয়ে নিন।

ক্লায়েন্ট লাইব্রেরি ইনস্টল করা

  • npm ব্যবহার করে লাইব্রেরি ইনস্টল করুন:

    npm install googleapis@105 @google-cloud/local-auth@2.1.0 --save
    

স্যাম্পেল সেট-আপ করা

  1. আপনার ওয়ার্কিং ডিরেক্টরিতে, index.js নামের একটি ফাইল তৈরি করুন।

  2. ফাইলে, নিম্নলিখিত কোড পেস্ট করুন:

    adminSDK/directory/index.js
    import path from 'node:path';
    import process from 'node:process';
    import {authenticate} from '@google-cloud/local-auth';
    import {google} from 'googleapis';
    
    // The scope for the Admin SDK Directory API.
    const SCOPES = ['https://www.googleapis.com/auth/admin.directory.user'];
    // The path to the credentials file.
    const CREDENTIALS_PATH = path.join(process.cwd(), 'credentials.json');
    
    /**
     * Lists the first 10 users in the domain.
     */
    async function listUsers() {
      // Authenticate with Google and get an authorized client.
      const auth = await authenticate({
        scopes: SCOPES,
        keyfilePath: CREDENTIALS_PATH,
      });
    
      // Create a new Admin SDK Directory API client.
      const service = google.admin({version: 'directory_v1', auth});
      // Get the list of users.
      const result = await service.users.list({
        customer: 'my_customer',
        maxResults: 10,
        orderBy: 'email',
      });
    
      const users = result.data.users;
      if (!users || users.length === 0) {
        console.log('No users found.');
        return;
      }
    
      // Print the primary email and full name of each user.
      console.log('Users:');
      users.forEach((user) => {
        console.log(`${user.primaryEmail} (${user.name?.fullName})`);
      });
    }
    
    await listUsers();

স্যাম্পেল রান করানো

  1. আপনার ওয়ার্কিং ডিরেক্টরিতে, স্যাম্পেল চালান:

    node .
    
  1. প্রথমবার স্যাম্পেল চালানোর সময়, এটি আপনাকে অ্যাক্সেস অনুমোদন করার জন্য প্রম্পট করে:
    1. আপনার Google অ্যাকাউন্টে আগে থেকেই সাইন-ইন করে না থাকলে, প্রম্পট করা হলে সাইন-ইন করুন। আপনি একাধিক অ্যাকাউন্টে সাইন-ইন করে থাকলে, অনুমোদনের জন্য ব্যবহার করতে একটি অ্যাকাউন্ট বেছে নিন।
    2. স্বীকার করুন বিকল্পে ক্লিক করুন।

    আপনার Nodejs অ্যাপ্লিকেশন রান করে এবং Directory API কল করে।

    অনুমোদনের তথ্য ফাইল সিস্টেমে স্টোর করা হয়, তাই পরের বার আপনি স্যাম্পেল কোড রান করলে, আপনাকে অনুমোদনের জন্য প্রম্পট করা হয় না।

পরবর্তী ধাপ