Google ডেটা জাভা ক্লায়েন্ট লাইব্রেরি দিয়ে শুরু করা

স্টেফানি লিউ, Google Data APIs টিম
সেপ্টেম্বর 2007
  1. ভূমিকা
  2. নির্ভরতা ইনস্টল করা
    1. উইন্ডোজে
    2. Mac OS X-এ
    3. লিনাক্সে
  3. Google ডেটা ক্লায়েন্ট লাইব্রেরি ইনস্টল করা হচ্ছে
  4. চলমান নমুনা
  5. আপনার নিজের অ্যাপ্লিকেশন নির্মাণ
  6. উপসংহার
  7. পরিশিষ্ট: পরিবেশের ভেরিয়েবল সেট করা

ভূমিকা

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

Eclipse ব্যবহার করছেন?

ছায়ায় কোডিং দেখুন: Google Data APIs নিবন্ধের সাথে Eclipse ব্যবহার করে

নির্ভরতা ইনস্টল করা

GData জাভা ক্লায়েন্ট লাইব্রেরিতে নিম্নলিখিত বাহ্যিক নির্ভরতা রয়েছে। নিম্নলিখিত বিভাগগুলি বর্ণনা করবে কিভাবে আপনার প্রিয় অপারেটিং সিস্টেমে (অথবা আপনি কর্মক্ষেত্রে আটকে থাকা OS) এই নির্ভরতাগুলি ইনস্টল করবেন।

  • JDK (জাভা ডেভেলপমেন্ট কিট) সংস্করণ 1.5+
  • Apache Ant সংস্করণ 1.7+
  • সূর্যের JavaMail API 1.4+ এ mail.jar
  • সূর্যের JavaBeansActivationFramework-এ activation.jar। এটি শুধুমাত্র ডকুমেন্ট লিস্ট ডেটা API, Picasa ওয়েব অ্যালবাম API, এবং YouTube ডেটা API সহ মিডিয়া নির্দিষ্ট APIগুলির জন্য প্রয়োজন৷
  • সূর্যের সার্ভলেট API সংস্করণ 2.3+ এ servlet.jar। 'sample.authsub' বা 'sample.gbase.recipe' প্যাকেজে কোড স্যাম্পল এক্সিকিউট করলেই এটির প্রয়োজন হয়।

কয়েকটি .jar নির্ভরতা শুধুমাত্র নির্দিষ্ট নমুনার জন্য প্রয়োজন, কিন্তু বিল্ড ত্রুটি এড়াতে, সবকিছু পাওয়াই ভাল। চালিয়ে যেতে আপনার পছন্দের অপারেটিং সিস্টেম চয়ন করুন: Windows , Mac OS X , বা Linux

Google ডেটা ক্লায়েন্ট লাইব্রেরি ইনস্টল করা হচ্ছে

  1. http://code.google.com/p/gdata-java-client/downloads/list দেখুন
  2. ক্লায়েন্ট লাইব্রেরির সর্বশেষ সংস্করণ ( gdata-src.java-1.xxjava.zip ) এবং নমুনা ( gdata-samples.java-1.xxjava.zip ) ডাউনলোড করুন।
  3. আপনার কম্পিউটারে ক্লায়েন্ট লাইব্রেরি উৎস বের করুন।
  4. gdata/java/build-src/build.properties এ নেভিগেট করুন এবং ফাইলটি খুলুন।
  5. আপনার স্থানীয় মেশিনে .jar ফাইলগুলির অবস্থান নির্দেশ করতে বাহ্যিক নির্ভরতাগুলি সম্পাদনা করুন৷
  6. দ্রষ্টব্য: উইন্ডোজে, ব্যাকস্ল্যাশগুলি এড়াতে ভুলবেন না। উদাহরণ স্বরূপ,

    servlet.jar=C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\lib\\servlet-api.jar

চলমান নমুনা

উপলব্ধ সমস্ত নমুনা gdata-samples.java-1.xxjava.zip আর্কাইভ থেকে gdata/java/sample এর অধীনে অবস্থিত। gdata/java/build-samples/build.properties ফাইলটিতে লাইব্রেরিতে থাকা নমুনাগুলির জন্য সমস্ত ইনপুট মান রয়েছে। একটি বৈধ ব্যবহারকারীর নাম এবং পাসওয়ার্ডে sample.credentials.username এবং sample.credentials.password সেট করুন। আমরা নির্মাণের পাশাপাশি নমুনাগুলি চালানোর জন্য পিঁপড়া ব্যবহার করতে পারি।

আপনি কমান্ড প্রম্পট খুলে, gdata/java ডিরেক্টরিতে পরিবর্তন করে এবং টাইপ করে সবকিছু সঠিকভাবে ইনস্টল করেছেন কিনা তা পরীক্ষা করুন:

ant -f build-samples.xml sample.calendar.run

আপনি কিছু তথ্য বা সতর্কীকরণ বার্তা পেতে পারেন, কিন্তু শেষ পর্যন্ত BUILD SUCCESSFUL বার্তাটি দেখুন! আপনি যদি সফলতার বার্তা না পান তাহলে সমস্যা সমাধানের বিভাগটি দেখুন।

টাইপ করে একটি আরো ইন্টারেক্টিভ নমুনা চেষ্টা করুন:

ant -f build-samples.xml sample.spreadsheet.guidemo.run

একটি নির্দিষ্ট নমুনা কীভাবে চালাতে হয় তা জানতে, gdata/java/build-samples এ যান এবং সেই নমুনার জন্য বিল্ড ফাইলটি পরীক্ষা করুন। samples run সেকশনের জন্য দেখুন।

সমস্যা সমাধান

যদি আপনার বিল্ড একটি ত্রুটি বার্তা সহ ব্যর্থ হয়,

BUILD FAILED
Target 'core.sample.core.util.build' does not exist in this project. It is used from target 'sample.calendar.build'.

Total time: 0 seconds

অথবা প্রজেক্ট থেকে অনুপস্থিত একটি অপরিহার্য ফাইল সম্পর্কে অনুরূপ ত্রুটি বার্তা, আপনি হয়তো Ant এর একটি পুরানো সংস্করণ চালাচ্ছেন। আপনি 1.7 বা উচ্চতর চালাচ্ছেন তা নিশ্চিত করতে ant -version টাইপ করুন। পিঁপড়ার সর্বশেষ সংস্করণ পেতে উপরে নির্ভরতা নির্দেশাবলী পড়ুন।

আপনার নিজের অ্যাপ্লিকেশন নির্মাণ

পরবর্তী প্রশ্ন হল কিভাবে আপনার নিজের অ্যাপ্লিকেশন তৈরি করবেন। আমি একটি "হ্যালো, বিশ্ব!" মৌলিক কার্যকারিতা প্রদর্শনের জন্য ক্যালেন্ডার পরিষেবা ব্যবহার করে সমতুল্য প্রোগ্রাম। আরও বিশদ তথ্য জাভা ক্লায়েন্ট লাইব্রেরির ডেভেলপার গাইডের পাশাপাশি পৃথক পণ্য বিকাশকারী গাইডগুলিতে পাওয়া যাবে।

CalendarTest.java নামে একটি ফাইল তৈরি করুন। নিম্নলিখিত আমদানি বিবৃতি অন্তর্ভুক্ত করে শুরু করুন।

import com.google.gdata.client.*;
import com.google.gdata.client.calendar.*;
import com.google.gdata.data.*;
import com.google.gdata.data.acl.*;
import com.google.gdata.data.calendar.*;
import com.google.gdata.data.extensions.*;
import com.google.gdata.util.*;

import java.net.*;
import java.io.*;

import sample.util.*;

এখানে পুরো প্রোগ্রাম (কোন ব্যতিক্রম হ্যান্ডলিং ছাড়া)।

public class CalendarTest {

    public static void main(String[] args) {
        CalendarService myService = new CalendarService("exampleCo-exampleApp-1.0");
        myService.setUserCredentials("root@gmail.com", "pa$$word");

        URL feedUrl = new URL("http://www.google.com/calendar/feeds/default/allcalendars/full");
        CalendarFeed resultFeed = myService.getFeed(feedUrl, CalendarFeed.class);

        System.out.println("Your calendars:");
        System.out.println();

        for (int i = 0; i < resultFeed.getEntries().size(); i++) {
          CalendarEntry entry = resultFeed.getEntries().get(i);
          System.out.println("\t" + entry.getTitle().getPlainText());
        }

    }
}

This little program will request all the calendars you own and display all the titles. It's a little longer than the canonical "Hello, World!" example, but it's very simple once we break it down. The first couple of lines creates a service object and sets the user credentials.

CalendarService myService = new CalendarService("exampleCo-exampleApp-1.0");
myService.setUserCredentials("root@gmail.com", "pa$$word");

তারপর, সম্পদের URL সেট করা হয়. এই ক্ষেত্রে, এখানে আপনি প্রমাণীকৃত ব্যবহারকারীর কাছ থেকে সমস্ত ক্যালেন্ডারের তালিকার জন্য অনুরোধ করতে পারেন৷

URL feedUrl = new URL("http://www.google.com/calendar/feeds/default/allcalendars/full");

নীচের লাইনটি URL-এ প্রকৃত GET কমান্ড কার্যকর করবে এবং ফলস্বরূপ ফিডটিকে একটি পরিপাটি বস্তুতে রাখবে।

CalendarFeed resultFeed = myService.getFeed(feedUrl, CalendarFeed.class);

নীচের for লুপ প্রতিটি এন্ট্রির মাধ্যমে পুনরাবৃত্তি করবে এবং শিরোনামটি মুদ্রণ করবে। মনে রাখবেন শিরোনামটি একটি TextConstruct হিসাবে সংরক্ষণ করা হয়েছে, তাই সাধারণ পাঠ্য পেতে একটি অতিরিক্ত ফাংশন কল প্রয়োজন৷

for (int i = 0; i < resultFeed.getEntries().size(); i++) {
    CalendarEntry entry = resultFeed.getEntries().get(i);
    System.out.println("\t" + entry.getTitle().getPlainText());
}

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

URL postURL = new URL("http://www.google.com/calendar/feeds/root@gmail.com/private/full");
CalendarEventEntry myEvent = new CalendarEventEntry();

//Set the title and description
myEvent.setTitle(new PlainTextConstruct("Pi Day Party"));
myEvent.setContent(new PlainTextConstruct("I am throwing a Pi Day Party!"));

//Create DateTime events and create a When object to hold them, then add
//the When event to the event
DateTime startTime = DateTime.parseDateTime("2007-03-14T15:00:00-08:00");
DateTime endTime = DateTime.parseDateTime("2007-03-14T17:00:00-08:00");
When eventTimes = new When();
eventTimes.setStartTime(startTime);
eventTimes.setEndTime(endTime);
myEvent.addTime(eventTimes);

// POST the request and receive the response:
CalendarEventEntry insertedEntry = myService.insert(postURL, myEvent);

আরেকটি সাধারণ অপারেশন হল একটি প্রশ্ন তৈরি করা।

//Create a new query object and set the parameters
Query myQuery = new Query(feedURL);
myQuery.setFullTextQuery("Pi");

//Send the request with the built query URL
CalendarEventFeed myResultsFeed = myService.query(myQuery, CalendarEventFeed.class);

//Take the first match and print the title
if (myResultsFeed.getEntries().size() > 0) {
    CalendarEventEntry firstMatchEntry = new CalendarEventEntry();
    myResultsFeed.getEntries().get(0);
    System.out.println(firstMatchEntry.getTitle().getPlainText());
}

ডিবাগ করার সময়, আরেকটি দরকারী ক্রিয়াকলাপ হল কাঁচা XML ডাম্পিং। একটি সহজ ইউটিলিটি আছে যা আপনি লাইব্রেরিতে এটি করতে ব্যবহার করতে পারেন। নিশ্চিত করুন samples.util.* আমদানি করা হয়েছে। তারপর, ফিড বা এন্ট্রি ডাম্প.

CommonUtils.dump(resultFeed, System.out);

আরও গভীর ডিবাগিং টুলের জন্য, আমাদের ডিবাগিং গুগল ডেটা এপিআই ক্লায়েন্টগুলি দেখুন: ক্লায়েন্ট লাইব্রেরির মধ্যে থেকে কীভাবে লগিং চালু করতে হয় সে সম্পর্কে আপনার প্রোগ্রাম নিবন্ধের মধ্যে থেকে ট্রাফিক অন্বেষণ করুন

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

উপসংহার

আশা করি, আপনি এখন GData জাভা ক্লায়েন্ট লাইব্রেরি ব্যবহার করে অ্যাপ্লিকেশন তৈরি করতে এবং চালাতে সক্ষম! আপনি যে জনপ্রিয় IDE ব্যবহার করতে পারেন তার মধ্যে আমি যাইনি, তবে আপনি Eclipse বা NetBeans এর মতো জনপ্রিয় টুলগুলি দেখতে চাইতে পারেন। এখানে কিছু অতিরিক্ত লিঙ্ক রয়েছে যা সহায়ক হতে পারে:

কোনো API-এর সাথে Java ক্লায়েন্ট লাইব্রেরি ব্যবহার করার বিষয়ে আপনার কোনো প্রশ্ন থাকলে, আপনি API নির্দিষ্ট ফোরামে পোস্ট করে আমাদের জানাতে পারেন।