জাভা কুইকস্টার্ট

এই কুইকস্টার্ট গাইডটি ব্যাখ্যা করে কিভাবে একটি সহজ জাভা কমান্ড-লাইন অ্যাপ্লিকেশন সেট আপ করতে হয় যা ইউটিউব ডেটা এপিআই-তে অনুরোধ পাঠায়। এই কুইকস্টার্টটি আসলে দুটি এপিআই অনুরোধ কীভাবে করতে হয় তা ব্যাখ্যা করে:

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

পূর্বশর্ত

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

  • জাভা ১.৭ বা তার চেয়ে উচ্চতর সংস্করণ।
  • গ্রেডল ২.৩ বা তার চেয়ে উন্নত
  • ইন্টারনেট ব্যবহারের সুযোগ এবং একটি ওয়েব ব্রাউজার।
  • একটি গুগল অ্যাকাউন্ট।

ধাপ ১: আপনার প্রজেক্ট এবং ক্রেডেনশিয়াল সেট আপ করুন।

ক্লাউড কনসোলে একটি প্রজেক্ট তৈরি করুন বা নির্বাচন করুন। আপনার প্রজেক্টের জন্য ক্লাউড কনসোলে নিম্নলিখিত কাজগুলো সম্পন্ন করুন:

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

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

    1. একটি এপিআই কী তৈরি করুন। ব্যবহারকারীর অনুমোদনের প্রয়োজন নেই এমন এপিআই অনুরোধগুলি করার জন্য আপনি এপিআই কী ব্যবহার করবেন। উদাহরণস্বরূপ, একটি পাবলিক ইউটিউব চ্যানেল সম্পর্কে তথ্য পেতে আপনার ব্যবহারকারীর অনুমোদনের প্রয়োজন নেই।

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

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

ধাপ ২: প্রকল্পটি প্রস্তুত করুন

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

  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 ফাইলে, আপনাকে YouTube Data API-এর ক্লায়েন্ট লাইব্রেরি ডকুমেন্টেশন থেকে দুটি মান দিয়ে REVISION এবং CL_VERSION ভেরিয়েবল দুটি প্রতিস্থাপন করতে হবে। নিচের স্ক্রিনশটটিতে, যা YouTube Analytics API-এর ডকুমেন্টেশন দেখাচ্ছে, সেখানে দেখানো হয়েছে যে ভেরিয়েবল দুটি পৃষ্ঠায় কোথায় রয়েছে।

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

ধাপ ৩: নমুনাটি সেট আপ করুন এবং চালান

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

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

    পূর্ণস্ক্রিন এপিআই এক্সপ্লোরারটি খুলতে ও তাতে তথ্য যোগ করতে প্রথম তালিকার কোড প্রতীকটিতে ক্লিক করুন।

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

  3. ফুলস্ক্রিন এপিআই এক্সপ্লোরারের বাম দিকে নিম্নলিখিত বিষয়গুলো দেখানো হয়:

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

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

      ছবিটিতে ফুলস্ক্রিন এপিআই এক্সপ্লোরার-এর 'ক্রেডেনশিয়ালস' এবং পুলডাউন মেনুটি দেখানো হয়েছে, যেখানে 'এপিআই কী' অপশনটি নির্বাচিত রয়েছে।

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

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

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

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

    gradle -q run

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

ধাপ ৪: একটি অনুমোদিত অনুরোধ চালান

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

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

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

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

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

    2. ক্রেডেনশিয়ালস সেকশনে, পুলডাউন মেনু থেকে গুগল ওঅথ ২.০ (Google OAuth 2.0 ) অপশনটি সিলেক্ট করতে হবে।

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

      ছবিটিতে ফুলস্ক্রিন এপিআই এক্সপ্লোরারে স্কোপগুলো দেখানো হয়েছে এবং 'Google OAuth 2.0' ক্রেডেনশিয়াল ব্যবহারের অপশনটি নির্বাচিত রয়েছে।

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

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

    gradle -q run

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

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

  7. আপনার কোড নমুনায় নির্দিষ্ট করা স্কোপগুলিতে আপনার অ্যাপ্লিকেশনকে অ্যাক্সেস দেওয়ার জন্য বোতামটি ক্লিক করুন।

  8. নমুনাটি স্বয়ংক্রিয়ভাবে সম্পন্ন হবে, এবং আপনি প্রমাণীকরণ প্রক্রিয়ার জন্য ব্যবহৃত ব্রাউজার ট্যাবটি বন্ধ করে দিতে পারেন।

    এপিআই প্রতিক্রিয়াটি আবার STDOUT এ প্রিন্ট করা উচিত।

আরও পড়ুন