জাভা ক্লায়েন্ট লাইব্রেরি ব্যবহার করে

এই ডকুমেন্টটি বর্ণনা করে কিভাবে জাভা ক্লায়েন্ট লাইব্রেরি ব্যবহার করে Google Data API ("GData") প্রশ্ন পাঠাতে হয় এবং প্রত্যাবর্তিত প্রতিক্রিয়া ব্যাখ্যা করে।

ডেটা API আছে এমন পরিষেবাগুলির সাথে ইন্টারঅ্যাক্ট করার জন্য Google বিভিন্ন প্রোগ্রামিং ভাষায় ক্লায়েন্ট লাইব্রেরির একটি সেট সরবরাহ করে। এই লাইব্রেরিগুলি ব্যবহার করে, আপনি GData অনুরোধগুলি তৈরি করতে পারেন, সেগুলিকে একটি পরিষেবাতে পাঠাতে পারেন এবং প্রতিক্রিয়া পেতে পারেন৷

এই নথিটি জাভা ক্লায়েন্ট লাইব্রেরি ব্যবহার সম্পর্কে কিছু সাধারণ তথ্য প্রদান করে, সাধারণ ব্যবহারের উদাহরণগুলির একটি সেট সহ।

এই ক্লায়েন্ট লাইব্রেরি ব্যবহার করতে, আপনাকে অবশ্যই Java 1.5 চালাতে হবে।

জাভা ক্লায়েন্ট লাইব্রেরি ডাউনলোড করুন।

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

বিষয়বস্তু

শ্রোতা

এই নথিটি জাভা প্রোগ্রামারদের উদ্দেশ্যে যারা ক্লায়েন্ট অ্যাপ্লিকেশন লিখতে চান যা GData পরিষেবার সাথে যোগাযোগ করতে পারে।

এই নথিটি অনুমান করে যে আপনি Google Data APIs প্রোটোকলের পিছনে সাধারণ ধারণাগুলি বোঝেন। এটাও ধরে নেয় যে আপনি জাভাতে প্রোগ্রাম করতে জানেন।

ক্লায়েন্ট লাইব্রেরি দ্বারা প্রদত্ত ক্লাস এবং পদ্ধতি সম্পর্কে রেফারেন্স তথ্যের জন্য, Java ক্লায়েন্ট লাইব্রেরি API রেফারেন্স দেখুন (জাভাডক ফর্ম্যাটে)।

এই নথিটি ক্রমানুসারে পড়ার জন্য ডিজাইন করা হয়েছে; প্রতিটি উদাহরণ আগের উদাহরণের উপর তৈরি করে।

ডেটা মডেল ওভারভিউ

জাভা ক্লায়েন্ট লাইব্রেরি Google Data APIs দ্বারা ব্যবহৃত উপাদানগুলিকে উপস্থাপন করতে ক্লাসের একটি সেট ব্যবহার করে। উদাহরণস্বরূপ, একটি ফিড ক্লাস আছে, যা <atom:feed> উপাদানের সাথে মিলে যায়; এটিতে একটি এন্ট্রি তৈরি, বিভিন্ন উপ-উপাদানের মান পাওয়া এবং সেট করার পদ্ধতি রয়েছে। এছাড়াও একটি এন্ট্রি ক্লাস আছে, যা <atom:entry> উপাদানের সাথে মিলে যায়। Google Data API-তে সংজ্ঞায়িত প্রতিটি উপাদানের নিজস্ব শ্রেণী নেই; বিস্তারিত জানার জন্য, রেফারেন্স ডকুমেন্টেশন দেখুন।

লাইব্রেরি স্বয়ংক্রিয়ভাবে অ্যাটম বিষয়বস্তু পার্স করতে পারে এবং অ্যাটম উপাদানগুলির মানগুলিকে উপযুক্ত বস্তুতে রাখতে পারে। উদাহরণস্বরূপ, getFeed পদ্ধতিটি একটি ফিড পায়, এটি পার্স করে এবং ফলস্বরূপ মান সহ একটি ফিড অবজেক্ট প্রদান করে।

একটি পরিষেবাতে একটি ফিড বা এন্ট্রি পাঠাতে, আপনি একটি ফিড বা এন্ট্রি অবজেক্ট তৈরি করুন, তারপর একটি লাইব্রেরি পদ্ধতিতে কল করুন (যেমন insert পদ্ধতি) বস্তুটিকে স্বয়ংক্রিয়ভাবে XML-এ অনুবাদ করে পাঠান৷

আপনি যদি চান তবে আপনি নিজে পার্স এবং/অথবা এক্সএমএল তৈরি করতে পারেন; এটি করার সবচেয়ে সহজ উপায় হল একটি উপযুক্ত তৃতীয় পক্ষের লাইব্রেরি যেমন রোম

ঠিক যেমন Google Data API এর XML সিনট্যাক্স এক্সটেনসিবল, অনুরূপ অবজেক্ট মডেলটি এক্সটেনসিবল। উদাহরণস্বরূপ, ক্লায়েন্ট লাইব্রেরি Google ডেটা নেমস্পেসে সংজ্ঞায়িত উপাদানগুলির সাথে সম্পর্কিত ক্লাস প্রদান করে।

টিউটোরিয়াল এবং উদাহরণ

নিম্নলিখিত উদাহরণগুলি দেখায় কিভাবে জাভা ক্লায়েন্ট লাইব্রেরি ব্যবহার করে বিভিন্ন ডেটা API অনুরোধ পাঠাতে হয়।

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

আপনার ক্লায়েন্ট তৈরি এবং চালান

এই নথিতে উদাহরণগুলি কম্পাইল করতে, আপনাকে নিম্নলিখিত আমদানি বিবৃতিগুলি ব্যবহার করতে হবে:

import com.google.gdata.client.*;
import com.google.gdata.client.calendar.*;
import com.google.gdata.data.*;
import com.google.gdata.data.extensions.*;
import com.google.gdata.util.*;
import java.net.URL;

একটি ফিড অনুরোধ

Google ক্যালেন্ডার ডেটা API নথিতে বর্ণিত হিসাবে, আপনি ক্যালেন্ডারে নিম্নলিখিত HTTP অনুরোধ পাঠিয়ে একটি ক্যালেন্ডার ফিডের অনুরোধ করতে পারেন:

GET http://www.google.com/calendar/feeds/userID/private/full

অবশ্যই, আপনাকে ব্যবহারকারীর ইমেল ঠিকানা দিয়ে userID প্রতিস্থাপন করতে হবে; বিস্তারিত জানার জন্য ক্যালেন্ডার নথি দেখুন। আপনি, পরিবর্তে, ক্যালেন্ডারের সাথে ইন্টারঅ্যাক্ট করার জন্য বিশেষ ডিফল্ট URL ব্যবহার করতে পারেন (ক্যালেন্ডার নথিতে বর্ণিত), তবে এই নথিতে আমরা ব্যক্তিগত পূর্ণ ফিড URL ব্যবহার করব, যাতে ব্যবহারকারী আইডি রয়েছে৷

আপনাকে উপযুক্ত প্রমাণীকরণও দিতে হবে। এই উদাহরণ এবং ক্যালেন্ডার নথিতে প্রথম উদাহরণের মধ্যে প্রধান পার্থক্য হল যে (1) এই উদাহরণে প্রমাণীকরণ অন্তর্ভুক্ত রয়েছে এবং (2) এই উদাহরণটি ক্যালেন্ডার-নির্দিষ্ট ক্যালেন্ডার সার্ভিস ক্লাসের পরিবর্তে আরও সাধারণ GoogleService ক্লাস ব্যবহার করে৷

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

জাভা ক্লায়েন্ট লাইব্রেরি ব্যবহার করে একটি ক্যালেন্ডার ফিডের জন্য অনুরোধ করতে, ইমেল ঠিকানা "liz@gmail.com" এবং পাসওয়ার্ড "mypassword" সহ ব্যবহারকারীর জন্য, নিম্নলিখিত কোডটি ব্যবহার করুন:

// Set up the URL and the object that will handle the connection:
URL feedUrl = new URL("http://www.google.com/calendar/feeds/liz@gmail.com/private/full");
GoogleService myService = new GoogleService("cl", "exampleCo-exampleApp-1");
myService.setUserCredentials("liz@gmail.com", "mypassword");

// Mark the feed as an Event feed:
new EventFeed().declareExtensions(myService.getExtensionProfile());

// Send the request and receive the response:
Feed myFeed = myService.getFeed(feedUrl, Feed.class);

GoogleService ক্লাস একটি GData পরিষেবার সাথে একটি ক্লায়েন্ট সংযোগ (প্রমাণিকরণ সহ) প্রতিনিধিত্ব করে। ক্লায়েন্ট লাইব্রেরি ব্যবহার করে একটি পরিষেবাতে একটি ক্যোয়ারী পাঠানোর সাধারণ পদ্ধতি নিম্নলিখিত পদক্ষেপগুলি নিয়ে গঠিত:

  1. উপযুক্ত URL প্রাপ্ত করুন বা নির্মাণ করুন।
  2. আপনি যদি কোনও পরিষেবাতে ডেটা পাঠান (উদাহরণস্বরূপ, আপনি যদি একটি নতুন এন্ট্রি ঢোকাচ্ছেন), তাহলে ক্লায়েন্ট লাইব্রেরি ক্লাসগুলি ব্যবহার করে কাঁচা ডেটাকে অবজেক্টে রূপান্তর করুন। (আপনি যদি শুধুমাত্র একটি ফিডের অনুরোধ করেন তবে এই পদক্ষেপটি প্রযোজ্য নয়, যেমনটি আমরা এই উদাহরণে করছি।)
  3. একটি নতুন GoogleService দৃষ্টান্ত তৈরি করুন, পরিষেবার নাম (যেমন ক্যালেন্ডারের জন্য "cl" ) এবং আপনার অ্যাপ্লিকেশনের নাম ( companyName - applicationName - versionID ফর্মে) সেট করুন।
  4. উপযুক্ত শংসাপত্র সেট করুন.
  5. ক্লায়েন্ট লাইব্রেরির কাছে নির্দেশ করুন যে ফিডটি কোন এক্সটেনশনগুলি ব্যবহার করবে, যাতে লাইব্রেরি ফেরত দেওয়া ফিডগুলিকে সঠিকভাবে পার্স করতে পারে।
  6. অনুরোধ পাঠাতে এবং কোনো ফলাফল পেতে একটি পদ্ধতি কল করুন.

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

শংসাপত্র সেট করার পরে, আপনি declareExtensions পদ্ধতিতে কল করে ফিড কোন এক্সটেনশনগুলি ব্যবহার করবে তা নির্দেশ করুন৷ এই ক্ষেত্রে, আমরা বলছি যে ফিডটি একটি ইভেন্ট ফিড, এবং এইভাবে এটি ইভেন্ট ধরনের দ্বারা সংজ্ঞায়িত এক্সটেনশনগুলি ব্যবহার করবে।

একটি সম্পূর্ণ ফিডের অনুরোধ করতে, আপনি getFeed পদ্ধতিতে কল করুন, যা একটি URL নেয় এবং সেই URL-এ পাওয়া সম্পূর্ণ ফিড ফেরত দেয়। আমরা এই নথিতে পরবর্তীতে আরও নির্দিষ্ট প্রশ্ন কীভাবে পাঠাতে হয় তা দেখাব।

GoogleService ক্লাসের অন্যান্য পদ্ধতির মতো, getFeed প্রমাণীকরণ পরিচালনা করে এবং প্রয়োজনে পুনঃনির্দেশ করে।

একটি নতুন আইটেম সন্নিবেশ করা হচ্ছে

একটি নতুন ক্যালেন্ডার ইভেন্ট তৈরি করতে, আপনি নিম্নলিখিত কোড ব্যবহার করতে পারেন:

URL postUrl =
  new URL("http://www.google.com/calendar/feeds/liz@gmail.com/private/full");
EventEntry myEntry = new EventEntry();

myEntry.setTitle(new PlainTextConstruct("Tennis with Darcy"));
myEntry.setContent(new PlainTextConstruct("Meet for a quick lesson."));

Person author = new Person("Elizabeth Bennet", null, "liz@gmail.com");
myEntry.getAuthors().add(author);

DateTime startTime = DateTime.parseDateTime("2006-04-17T15:00:00-08:00");
DateTime endTime = DateTime.parseDateTime("2006-04-17T17:00:00-08:00");
When eventTimes = new When();
eventTimes.setStartTime(startTime);
eventTimes.setEndTime(endTime);
myEntry.addTime(eventTimes);

// Send the request and receive the response:
EventEntry insertedEntry = myService.insert(postUrl, myEntry);

URL সেট করার পরে, আমরা একটি EventEntry অবজেক্ট তৈরি করি; EventEntry বিমূর্ত বেস ক্লাস BaseEntry থেকে উদ্ভূত হয়েছে, যা Entry ক্লাসের মূল শ্রেণীও, যা একটি <atom:entry> উপাদানকে প্রতিনিধিত্ব করে।

EventEntry ক্লাস একটি ইভেন্ট ধরনের প্রতিনিধিত্ব করে; আরও তথ্যের জন্য, প্রকারের নথি দেখুন। ক্যালেন্ডার ব্যতীত অন্য পরিষেবাগুলির জন্য, আপনি একটি Entry অবজেক্টের পরিবর্তে একটি EventEntry অবজেক্টে প্রত্যাবর্তিত এন্ট্রি বরাদ্দ করতে পারেন।

এন্ট্রি শিরোনাম হল একটি TextConstruct , একটি শ্রেণী যা বিভিন্ন আকারে পাঠ্য ধারণ করে (সাধারণ পাঠ্য, এইচটিএমএল, বা এক্সএইচটিএমএল)। এন্ট্রি বিষয়বস্তু একটি Content অবজেক্ট দ্বারা প্রতিনিধিত্ব করা হয়, এমন একটি শ্রেণী যা হয় প্লেইন টেক্সট বা XML এবং বাইনারি ডেটা সহ অন্যান্য ধরনের সামগ্রী ধারণ করতে পারে। (কিন্তু setContent পদ্ধতিটি একটি TextConstruct ও গ্রহণ করতে পারে।)

প্রতিটি লেখক একটি নাম, একটি URI, এবং একটি ইমেল ঠিকানা হিসাবে প্রতিনিধিত্ব করা হয়. (এই উদাহরণে, আমরা ইউআরআই বাদ দিচ্ছি।) আপনি এন্ট্রির getAuthors ().add পদ্ধতিতে কল করে একটি এন্ট্রিতে একজন লেখককে যুক্ত করেন।

আমরা একই GoogleService অবজেক্ট ব্যবহার করছি যা আমরা আগের উদাহরণে তৈরি করেছি। এই ক্ষেত্রে, কল করার পদ্ধতি হল insert , যা নির্দিষ্ট সন্নিবেশ URL-এ একটি আইটেম পাঠায়।

পরিষেবাটি নতুন তৈরি এন্ট্রি ফেরত দেয়, যাতে অতিরিক্ত সার্ভার-উত্পন্ন উপাদান থাকতে পারে, যেমন এন্ট্রির জন্য একটি সম্পাদনা URL।

HTTP স্থিতি কোডগুলি ব্যতিক্রম হিসাবে ফেরত দেওয়া হয়।

উপরের কোডটি POST http://www.google.com/calendar/feeds/liz@gmail.com/private/full (যথাযথ প্রমাণীকরণ সহ) পাঠানো এবং একটি ইভেন্ট ধরনের আকারে একটি এন্ট্রি প্রদান করার সমতুল্য৷

একটি নির্দিষ্ট এন্ট্রি অনুরোধ

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

উদাহরণগুলির এই সিরিজের প্রেক্ষাপটে, সেই এন্ট্রিটি পুনরুদ্ধার করা সত্যিই প্রয়োজনীয় নয়, কারণ ক্যালেন্ডার ইতিমধ্যেই সন্নিবেশিত এন্ট্রি ফিরিয়ে দিয়েছে; কিন্তু যখনই আপনি একটি এন্ট্রির জন্য URI জানেন তখন একই কৌশল প্রয়োগ করা যেতে পারে।

URL entryUrl = new URL(insertedEntry.getSelfLink().getHref());
EventEntry retrievedEntry = myService.getEntry(entryUrl, EventEntry.class);

ঢোকানো এন্ট্রিতে একটি পদ্ধতি আছে, getSelfLink , যা একটি Link অবজেক্ট প্রদান করে যাতে এন্ট্রির URL অন্তর্ভুক্ত থাকে। Link ক্লাসে একটি getHref পদ্ধতি রয়েছে যা একটি String হিসাবে URL প্রদান করে, যেখান থেকে আমরা একটি URL অবজেক্ট তৈরি করতে পারি।

তারপরে এন্ট্রি পেতে আমাদের কেবল পরিষেবাটির getEntry পদ্ধতিতে কল করতে হবে।

মনে রাখবেন যে আমরা getEntry এর জন্য একটি প্যারামিটার হিসাবে EventEntry.class দিচ্ছি, এটি নির্দেশ করে যে আমরা বিশেষভাবে আশা করছি যে পরিষেবাটি কেবল একটি সাধারণ এন্ট্রির পরিবর্তে একটি ইভেন্ট ফেরত দেবে৷ ক্যালেন্ডার ছাড়া অন্য পরিষেবাগুলির জন্য, আপনি পরিবর্তে Entry.class পাস করতে পারেন।

উপরের কোডটি সঠিক প্রমাণীকরণ সহ ক্যালেন্ডারে GET http://www.google.com/calendar/feeds/liz@gmail.com/private/full/ entryID পাঠানোর সমতুল্য।

এন্ট্রি অনুসন্ধান করা হচ্ছে

একটি পূর্ণ-পাঠ্য অনুসন্ধান থেকে প্রথম মিল পুনরুদ্ধার করতে, নিম্নলিখিত কোড ব্যবহার করুন:

Query myQuery = new Query(feedUrl);
myQuery.setFullTextQuery("Tennis");
Feed myResultsFeed = myService.query(myQuery, Feed.class);
if (myResultsFeed.getEntries().size() > 0) {
  Entry firstMatchEntry = myResultsFeed.getEntries().get(0);
  String myEntryTitle = firstMatchEntry.getTitle().getPlainText();
}

এই উদাহরণটি একটি Query অবজেক্ট তৈরি করে শুরু হয়, যেটিতে বেশিরভাগই একটি URL এবং সংশ্লিষ্ট ক্যোয়ারী প্যারামিটার থাকে। প্রতিটি স্ট্যান্ডার্ড GData ক্যোয়ারী প্যারামিটারের একটি সেটারের পদ্ধতি রয়েছে। আপনি addCustomParameter পদ্ধতি ব্যবহার করে একটি নির্দিষ্ট পরিষেবার জন্য কাস্টম ক্যোয়ারী প্যারামিটার সেট করতে পারেন।

Query তৈরি করার পরে, আমরা এটিকে পরিষেবার query পদ্ধতিতে প্রেরণ করি, যা ক্যোয়ারী ফলাফল সম্বলিত একটি ফিড প্রদান করে। একটি বিকল্প পদ্ধতি হ'ল নিজেই একটি URL তৈরি করা (ফিড URL-এ ক্যোয়ারী প্যারামিটার যুক্ত করে) এবং তারপর getFeed পদ্ধতিতে কল করুন, তবে query পদ্ধতিটি বিমূর্ততার একটি দরকারী স্তর সরবরাহ করে যাতে আপনাকে নিজেই URLটি তৈরি করতে না হয়।

ফিডের getEntries পদ্ধতি ফিডের এন্ট্রিগুলির একটি তালিকা প্রদান করে; getEntries().size ফিডে এন্ট্রির সংখ্যা প্রদান করে।

এই ক্ষেত্রে, যদি ক্যোয়ারী কোনো ফলাফল ফেরত দেয়, তাহলে আমরা একটি Entry অবজেক্টে প্রথম ম্যাচিং ফলাফল বরাদ্দ করি। তারপরে আমরা Entry ক্লাসের getTitle ().getPlainText পদ্ধতি ব্যবহার করে এন্ট্রির শিরোনামটি পুনরুদ্ধার করি এবং এটিকে টেক্সটে রূপান্তর করি।

উপরের কোডটি ক্যালেন্ডারে GET http://www.google.com/calendar/feeds/liz@gmail.com/private/full?q=Tennis পাঠানোর সমতুল্য।

বিভাগ দ্বারা অনুসন্ধান

দ্রষ্টব্য : Google ক্যালেন্ডার ইভেন্টগুলির সাথে লেবেলগুলিকে সংযুক্ত করে না, তাই এই উদাহরণটি ক্যালেন্ডারের সাথে কাজ করে না৷

আগের পূর্ণ-পাঠ্য অনুসন্ধানের সাথে মেলে এবং একটি নির্দিষ্ট বিভাগে বা একটি নির্দিষ্ট লেবেলযুক্ত সমস্ত এন্ট্রি সমন্বিত একটি ফিড পুনরুদ্ধার করতে, নিম্নলিখিত কোডটি ব্যবহার করুন:

Category myCategory = new Category("by_liz");
CategoryFilter myCategoryFilter = new CategoryFilter(myCategory);
myQuery.addCategoryFilter(myCategoryFilter);
Feed myCategoryResultsFeed = myService.query(myQuery, Feed.class);

Category ক্লাস, অবশ্যই, ক্যাটাগরি ফিল্টারে ব্যবহার করার জন্য একটি ক্যাটাগরির প্রতিনিধিত্ব করে। Query.CategoryFilter ক্লাসে একাধিক বিভাগ থাকতে পারে, কিন্তু এই ক্ষেত্রে আমরা শুধুমাত্র একটি বিভাগ সহ একটি ফিল্টার তৈরি করছি।

তারপরে আমরা সেই ফিল্টারটিকে বিদ্যমান ক্যোয়ারীতে যুক্ত করি, যেটিতে এখনও পূর্ববর্তী উদাহরণ থেকে পূর্ণ-পাঠ্য ক্যোয়ারী স্ট্রিং রয়েছে।

আমরা আবার পরিষেবাতে ক্যোয়ারী পাঠাতে query পদ্ধতি ব্যবহার করি।

ক্যালেন্ডার একটি বিভাগ অনুসন্ধানের অনুমতি দিলে, উপরের কোডটি ক্যালেন্ডারে GET http://www.google.com/calendar/feeds/liz@gmail.com/private/full/-/by_liz?q=Tennis পাঠানোর সমতুল্য হবে।

একটি আইটেম আপডেট করা হচ্ছে

একটি বিদ্যমান আইটেম আপডেট করতে, নিম্নলিখিত কোড ব্যবহার করুন. এই উদাহরণে, আমরা এর পুরানো টেক্সট ("টেনিস উইথ ডার্সি") থেকে পূর্বে পুনরুদ্ধার করা এন্ট্রির শিরোনামটিকে "গুরুত্বপূর্ণ মিটিং" এ পরিবর্তন করছি।

retrievedEntry.setTitle(new PlainTextConstruct("Important meeting"));
URL editUrl = new URL(retrievedEntry.getEditLink().getHref());
EventEntry updatedEntry = myService.update(editUrl, myEntry);

আমরা আগে যে এন্ট্রি নিয়েছিলাম তার জন্য প্রথমে আমরা একটি নতুন শিরোনাম সেট করি। তারপর আমরা getEditLink পদ্ধতি ব্যবহার করে এন্ট্রির জন্য সম্পাদনা URL পাই। তারপর আমরা আপডেট এন্ট্রি পাঠাতে পরিষেবার update পদ্ধতি কল.

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

উপরের কোডটি মোটামুটিভাবে প্রতিস্থাপনের জন্য নতুন এন্ট্রি (এটম ফর্ম্যাটে) সহ পরিষেবাতে PUT http://www.google.com/calendar/feeds/liz@gmail.com/private/full/ entryID পাঠানোর সমতুল্য। মূল এন্ট্রি।

একটি আইটেম মুছে ফেলা হচ্ছে

আপডেট করা এন্ট্রি মুছতে, নিম্নলিখিত কোডটি ব্যবহার করুন:

URL deleteUrl = new URL(updatedEntry.getEditLink().getHref());
myService.delete(deleteUrl);

মুছে ফেলার জন্য ব্যবহার করা URLটি সম্পাদনা URL-এর মতোই, তাই এই উদাহরণটি আগেরটির মতোই, অবশ্যই আমরা update পরিবর্তে delete পদ্ধতিকে কল করছি।

উপরের কোডটি মোটামুটিভাবে পরিষেবাটিতে DELETE http://www.google.com/calendar/feeds/liz@gmail.com/private/full/ entryID পাঠানোর সমতুল্য।

রেফারেন্স

ক্লায়েন্ট লাইব্রেরি দ্বারা প্রদত্ত ক্লাস এবং পদ্ধতি সম্পর্কে রেফারেন্স তথ্যের জন্য, Java ক্লায়েন্ট লাইব্রেরি API রেফারেন্স দেখুন (জাভাডক ফর্ম্যাটে)।

উপরে ফিরে যাও