Java কুইকস্টার্ট

এই 'দ্রুত শুরু' গাইড থেকে আপনি জানতে পারবেন যে কীভাবে YouTube Data API-তে অনুরোধ করে এমন একটি সাধারণ, Java কমান্ড-লাইন অ্যাপ্লিকেশন সেট-আপ করতে হয়। এই কুইকস্টার্ট আসলে দুটি API অনুরোধ কীভাবে করতে হয় তা ব্যাখ্যা করে:

  1. GoogleDevelopers YouTube চ্যানেল সম্পর্কে তথ্য পেতে, আপনি একটি API কী ব্যবহার করবেন, যা আপনার অ্যাপ্লিকেশন শনাক্ত করে।
  2. আপনি নিজের YouTube চ্যানেল সম্পর্কে তথ্য পেতে অনুমোদিত অনুরোধ জমা দেওয়ার জন্য OAuth 2.0 ক্লায়েন্ট আইডি ব্যবহার করবেন।

পূর্বশর্ত

এই কুইকস্টার্ট চালানোর জন্য আপনার এগুলি প্রয়োজন:

ধাপ ১: আপনার প্রোজেক্ট ও ক্রেডেনশিয়াল সেট-আপ করুন

Cloud console-এ কোনও প্রোজেক্ট তৈরি করুন বা বেছে নিন। আপনার প্রোজেক্টের জন্য Cloud কনসোলে নিম্নলিখিত টাস্কগুলি সম্পূর্ণ করুন:

  1. লাইব্রেরি প্যানেলে, YouTube Data API v3 খুঁজুন। সেই API-এর তালিকা দেখুন এবং আপনার প্রোজেক্টের জন্য API চালু করা আছে কিনা তা নিশ্চিত করুন।

  2. ক্রেডেনশিয়াল প্যানেলে, দুটি ক্রেডেনশিয়াল তৈরি করুন:

    1. API কী তৈরি করুন আপনি API অনুরোধ করার জন্য API কী ব্যবহার করবেন যার জন্য ব্যবহারকারীর অনুমোদনের প্রয়োজন নেই। যেমন, কোনও পাবলিক YouTube চ্যানেল সম্পর্কে তথ্য পেতে, আপনার ব্যবহারকারীর অনুমোদনের প্রয়োজন নেই।

    2. OAuth 2.0 ক্লায়েন্ট আইডি তৈরি করুন অ্যাপ্লিকেশনের ধরন ডেস্কটপ অ্যাপ হিসেবে সেট করুন। যেসব অনুরোধের জন্য ব্যবহারকারীর অনুমোদন প্রয়োজন, সেগুলির জন্য আপনাকে OAuth 2.0 ক্রেডেনশিয়াল ব্যবহার করতে হবে। যেমন, বর্তমানে যাচাই করা ব্যবহারকারীর YouTube চ্যানেল সম্পর্কে তথ্য পেতে আপনাকে ব্যবহারকারীর অনুমোদন নিতে হবে।

      আপনার OAuth 2.0 ক্রেডেনশিয়াল সহ JSON ফাইল ডাউনলোড করুন। ফাইলটির নাম client_secret_CLIENTID.json-এর মতো, যেখানে CLIENTID হল আপনার প্রোজেক্টের ক্লায়েন্ট আইডি।

ধাপ ২: প্রোজেক্ট তৈরি করা

আপনার Gradle প্রোজেক্ট প্রস্তুত করতে, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:

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

    $ gradle init --type basic
    $ mkdir -p src/main/java src/main/resources
    
  2. আপনার OAuth 2.0 ক্লায়েন্ট আইডি তৈরি করার পরে যে JSON ফাইলটি ডাউনলোড করেছেন সেটি আপনার ওয়ার্কিং ডিরেক্টরির নিচে থাকা src/main/resources ডিরেক্টরিতে সরিয়ে নিন এবং ফাইলটির নাম পরিবর্তন করে client_secret.json রাখুন।

  3. আপনার ওয়ার্কিং ডিরেক্টরিতে build.gradle ফাইলটি খুলুন এবং এর কন্টেন্ট নিম্নলিখিত কন্টেন্ট দিয়ে পাল্টে দিন:

    apply plugin: 'java'
    apply plugin: 'application'
    
    mainClassName = 'ApiExample'
    sourceCompatibility = 1.7
    targetCompatibility = 1.7
    version = '1.0'
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        compile 'com.google.api-client:google-api-client:1.23.0'
        compile 'com.google.oauth-client:google-oauth-client-jetty:1.23.0'
        compile 'com.google.apis:google-api-services-youtube:v3-revREVISION-CL_VERSION'
    }
  4. build.gradle ফাইলে, আপনাকে REVISION এবং CL_VERSION ভেরিয়েবল দুটিকে YouTube Data API-এর জন্য ক্লায়েন্ট লাইব্রেরি ডকুমেন্টেশন থেকে পাওয়া দুটি মান দিয়ে পরিবর্তন করতে হবে। নিচের স্ক্রিনশটে YouTube Analytics API-এর ডকুমেন্টেশন দেখানো হয়েছে। পৃষ্ঠার কোথায় দুটি ভেরিয়েবল দেখা যায় তা এখানে দেখানো হয়েছে।

    JavaDoc রেফারেন্সের স্ক্রিনশট, যেখানে 'REVISION' এবং 'CL_VERSION' ভেরিয়েবলের ভ্যালু কীভাবে খুঁজে পাওয়া যায় তা দেখানো হয়েছে

ধাপ ৩: স্যাম্পেল সেট-আপ করে রান করা

GoogleDevelopers YouTube চ্যানেল সম্পর্কে তথ্য পাওয়ার জন্য সাইড প্যানেলে API এক্সপ্লোরার উইজেট ব্যবহার করুন। এই অনুরোধ আপনার অ্যাপ্লিকেশন শনাক্ত করতে API key ব্যবহার করে এবং এর জন্য ব্যবহারকারীর অনুমোদন বা স্যাম্পেল রান করা ব্যবহারকারীর থেকে কোনও বিশেষ অনুমতির প্রয়োজন হয় না।

  1. API-এর channels.list পদ্ধতির জন্য ডকুমেন্টেশন খুলুন।
  2. সেই পৃষ্ঠায়, "সাধারণ ব্যবহারের উদাহরণ" বিভাগে একটি সারণী রয়েছে যা পদ্ধতিটি ব্যবহার করার বিভিন্ন সাধারণ উপায় ব্যাখ্যা করে। টেবিলের প্রথম তালিকাটি চ্যানেল আইডি অনুযায়ী ফলাফল দেখানোর জন্য।

    প্রথম তালিকার জন্য কোড চিহ্নে ক্লিক করে ফুল-স্ক্রিন API এক্সপ্লোরার খুলুন ও সেটি পূরণ করুন।

    channels.list ডকুমেন্টেশনের জন্য ব্যবহার করা কেসের তালিকা সহ টেবিলে কোড সিম্বল লিঙ্কের লোকেশন শনাক্ত করে এমন ছবি। সেই ছবির অলটারনেট টেক্সট
ছবিটিকে কোড সিম্বল হিসেবে শনাক্ত করে এবং সেই লিঙ্কের সাথে সম্পর্কিত
ব্যবহারের কেস নির্দিষ্ট করে।

  3. ফুলস্ক্রিন APIs Explorer-এর বাঁদিকে নিম্নলিখিত তথ্য দেখানো হয়:

    1. অনুরোধের প্যারামিটার হেডারটির নিচে, পদ্ধতিটি সমর্থন করে এমন প্যারামিটারগুলির একটি তালিকা রয়েছে। part এবং id প্যারামিটার ভ্যালু সেট করা থাকতে হবে। id প্যারামিটারের মান, UC_x5XG1OV2P6uZZ5FSM9Ttw, হল GoogleDevelopers YouTube চ্যানেলের আইডি।

    2. প্যারামিটারের নিচে, ক্রেডেনশিয়াল নামে একটি বিভাগ আছে। ওই বিভাগের ড্রপডাউন মেনুতে API কী ভ্যালু দেখানো উচিত। শুরু করা সহজ করতে, API এক্সপ্লোরার ডিফল্ট হিসেবে ডেমো ক্রেডেনশিয়াল ব্যবহার করে। তবে, স্থানীয়ভাবে স্যাম্পেল রান করার জন্য আপনাকে নিজের API কী ব্যবহার করতে হবে।

      ফুলস্ক্রিন APIs Explorer-এ 'ক্রেডেনশিয়াল'
এবং 'API কী' বিকল্প বেছে নেওয়া পুলডাউন মেনু দেখানো ছবি।

  4. ফুলস্ক্রিন API এক্সপ্লোরারের ডানদিকে বিভিন্ন ভাষায় কোড স্যাম্পেল সহ ট্যাব দেখানো হয়। Java ট্যাব বেছে নিন।

  5. কোডের নমুনা কপি করে src/main/java/ApiExample.java নামে একটি ফাইলে সেভ করুন। প্রতিটি স্যাম্পেল একই ক্লাস নেম (ApiExample) ব্যবহার করে যাতে আপনাকে বিভিন্ন স্যাম্পেল চালানোর জন্য build.gradle ফাইলটি পরিবর্তন করতে না হয়।

  6. আপনার ডাউনলোড করা স্যাম্পেলে, YOUR_API_KEY স্ট্রিংটি খুঁজে বের করুন এবং এই ক্যুইকস্টার্টের ১ নম্বর ধাপে আপনার তৈরি করা API কী দিয়ে সেটি পাল্টে দিন।

  7. কমান্ড লাইন থেকে স্যাম্পেল রান করুন। আপনার ওয়ার্কিং ডিরেক্টরিতে, এগুলি রান করান:

    gradle -q run

  8. স্যাম্পেলটি অনুরোধটি কার্যকর করবে এবং STDOUT-এ উত্তর প্রিন্ট করবে।

ধাপ ৪: অনুমোদিত অনুরোধ রান করা

এই ধাপে, আপনি নিজের কোড স্যাম্পেল পরিবর্তন করবেন যাতে GoogleDevelopers YouTube চ্যানেল সম্পর্কে তথ্য উদ্ধার করার পরিবর্তে, এটি আপনার YouTube চ্যানেল সম্পর্কে তথ্য উদ্ধার করে। এই অনুরোধের জন্য ব্যবহারকারীর অনুমোদন প্রয়োজন।

  1. API-এর channels.list পদ্ধতির ডকুমেন্টেশনে ফিরে যান।

  2. "ব্যবহারের সাধারণ কেস" বিভাগে, সারণীর তৃতীয় তালিকার জন্য কোড চিহ্নে ক্লিক করুন। এই ব্যবহারের ক্ষেত্রে "আমার চ্যানেল"-এর জন্য list মেথড কল করা হয়।

  3. আবার, ফুলস্ক্রিন API এক্সপ্লোরারের বাঁদিকে, আপনি ক্রেডেনশিয়াল বিভাগ সহ প্যারামিটারের একটি তালিকা দেখতে পাবেন। তবে, আপনি GoogleDevelopers চ্যানেল সম্পর্কে তথ্য যেখান থেকে পেয়েছেন, সেই উদাহরণের থেকে দুটি পরিবর্তন আছে:

    1. প্যারামিটার বিভাগে, id প্যারামিটার ভ্যালু সেট করার পরিবর্তে, mine প্যারামিটার ভ্যালু true হিসেবে সেট করতে হবে। এটি API সার্ভারকে বর্তমানে যাচাই করা ব্যবহারকারীর চ্যানেল সম্পর্কে তথ্য পুনরুদ্ধার করার নির্দেশ দেয়।

    2. ক্রেডেনশিয়াল বিভাগে, পুলডাউন মেনু থেকে Google OAuth 2.0-এর বিকল্প বেছে নিতে হবে।

      এছাড়াও, আপনি স্কোপ দেখুন লিঙ্কে ক্লিক করলে, https://www.googleapis.com/auth/youtube.readonly স্কোপে টিকচিহ্ন দেওয়া থাকতে হবে।

      ফুলস্ক্রিন APIs Explorer-এ স্কোপ দেখানো ছবি এবং 'Google OAuth 2.0' ক্রেডেনশিয়াল বেছে নেওয়ার বিকল্প।

  4. আগের উদাহরণের মতো, Java ট্যাব বেছে নিন, কোড স্যাম্পেল কপি করুন এবং src/main/java/ApiExample.java-এ সেভ করুন।

  5. কমান্ড লাইন থেকে স্যাম্পেল রান করুন। আপনার ওয়ার্কিং ডিরেক্টরিতে, এগুলি রান করান:

    gradle -q run

  6. স্যাম্পেলটি আপনার ডিফল্ট ব্রাউজারে একটি নতুন উইন্ডো বা ট্যাব খোলার চেষ্টা করবে। এটি কাজ না করলে, টার্মিনাল থেকে URL কপি করে আপনার ব্রাউজারে ম্যানুয়ালি খুলুন।

    আপনি আগে থেকে Google অ্যাকাউন্টে লগ-ইন করে না থাকলে, আপনাকে লগ-ইন করার জন্য প্রম্পট করা হবে। আপনি একাধিক Google অ্যাকাউন্টে লগ-ইন করে থাকলে, অনুমোদনের জন্য আপনাকে একটি অ্যাকাউন্ট বেছে নিতে বলা হবে।

  7. আপনার কোড স্যাম্পেলে উল্লেখ করা স্কোপে আপনার অ্যাপ্লিকেশনকে অ্যাক্সেস দিতে বোতামে ক্লিক করুন।

  8. স্যাম্পেলটি অটোমেটিক প্রসেস করা হবে এবং আপনি অথেন্টিকেশন ফ্লোয়ের জন্য ব্যবহৃত ব্রাউজার ট্যাবটি বন্ধ করতে পারেন।

    API রেসপন্স আবার STDOUT-এ প্রিন্ট করতে হবে।

আরও পড়ুন