জাভা থেকে সহজে Google API অ্যাক্সেস করুন

জাভার জন্য Google API ক্লায়েন্ট লাইব্রেরি সমস্ত Google API-এর জন্য সাধারণ কার্যকারিতা প্রদান করে, উদাহরণস্বরূপ HTTP পরিবহন, ত্রুটি পরিচালনা, প্রমাণীকরণ, JSON পার্সিং, মিডিয়া ডাউনলোড/আপলোড এবং ব্যাচিং। লাইব্রেরিতে একটি সামঞ্জস্যপূর্ণ ইন্টারফেস সহ একটি শক্তিশালী OAuth 2.0 লাইব্রেরি রয়েছে; লাইটওয়েট, দক্ষ XML এবং JSON ডেটা মডেল যা যেকোনো ডেটা স্কিমা সমর্থন করে; এবং প্রোটোকল বাফারের জন্য সমর্থন।

জাভার জন্য Google এর ক্লায়েন্ট লাইব্রেরি ব্যবহার করে একটি Google API কল করতে, আপনি যে Google API অ্যাক্সেস করছেন তার জন্য জেনারেট করা জাভা লাইব্রেরি প্রয়োজন৷ এই উৎপন্ন লাইব্রেরিতে মূল google-api-java-client লাইব্রেরি সহ API-নির্দিষ্ট তথ্য যেমন রুট URL অন্তর্ভুক্ত থাকে। এগুলি এমন ক্লাসগুলিও অন্তর্ভুক্ত করে যা API-এর প্রসঙ্গে সত্তাকে প্রতিনিধিত্ব করে এবং যেগুলি JSON অবজেক্ট এবং জাভা অবজেক্টের মধ্যে রূপান্তর করার জন্য দরকারী।
ক্লাস বা পদ্ধতি স্তরে @Beta দিয়ে চিহ্নিত বৈশিষ্ট্যগুলি পরিবর্তন সাপেক্ষে। যেকোন বড় রিলিজে এগুলি পরিবর্তন বা সরানো হতে পারে। যদি আপনার কোড নিজেই একটি লাইব্রেরি হয় (অর্থাৎ, যদি আপনার কোড আপনার নিয়ন্ত্রণের বাইরের ব্যবহারকারীদের CLASSPATH-এ ব্যবহার করা হয়) তাহলে বিটা বৈশিষ্ট্যগুলি ব্যবহার করবেন না৷
অবচয়িত নন-বিটা বৈশিষ্ট্যগুলি মুক্তির আঠারো মাস পরে সরানো হবে যেখানে সেগুলি প্রথম অবচয় করা হয়েছিল। এই সময়ের আগে আপনাকে অবশ্যই আপনার ব্যবহারগুলি ঠিক করতে হবে। আপনি যদি তা না করেন, তাহলে যেকোন ধরনের ভাঙ্গন হতে পারে এবং আপনি একটি সংকলন ত্রুটির নিশ্চয়তা পাবেন না।

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

আপনি জাভার জন্য Google API ক্লায়েন্ট লাইব্রেরির সাথে Google পরিষেবা-নির্দিষ্ট উত্পন্ন লাইব্রেরি ব্যবহার করে Google API-কে কল করতে পারেন। (একটি Google API-এর জন্য উত্পন্ন ক্লায়েন্ট লাইব্রেরি খুঁজতে, সমর্থিত Google API- এর তালিকা দেখুন।) এখানে একটি উদাহরণ রয়েছে যা Google ক্যালেন্ডার API-তে একটি কল করার জন্য জাভার জন্য ক্যালেন্ডার API ক্লায়েন্ট লাইব্রেরি ব্যবহার করে:
 // Show events on user's calendar.
 View.header("Show Calendars");
 CalendarList feed = client.calendarList().list().execute();
 View.display(feed);

লাইব্রেরি ব্যাচিং এবং মিডিয়া আপলোড/ডাউনলোড সহজ করে তোলে

লাইব্রেরি ব্যাচিং , মিডিয়া আপলোড এবং মিডিয়া ডাউনলোডের জন্য সহায়ক ক্লাস অফার করে।
লাইব্রেরিতে একটি শক্তিশালী প্রমাণীকরণ লাইব্রেরি রয়েছে যা OAuth 2.0 পরিচালনা করতে আপনার প্রয়োজনীয় কোডের পরিমাণ কমাতে পারে। কখনও কখনও কয়েক লাইন আপনার প্রয়োজন হয়. যেমন:
 /** Authorizes the installed application to access user's protected data. */
 private static Credential authorize() throws Exception {
   // load client secrets
   GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JSON_FACTORY,
       new InputStreamReader(CalendarSample.class.getResourceAsStream("/client_secrets.json")));
   // set up authorization code flow
   GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
       httpTransport, JSON_FACTORY, clientSecrets,
       Collections.singleton(CalendarScopes.CALENDAR)).setDataStoreFactory(dataStoreFactory)
      .build();
   // authorize
   return new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user");
}
অ্যাপ ইঞ্জিন-নির্দিষ্ট সাহায্যকারীরা API-তে প্রমাণীকৃত কলের দ্রুত কাজ করে, এবং আপনাকে টোকেনের জন্য কোড বিনিময়ের বিষয়ে চিন্তা করতে হবে না।

যেমন:
 @Override
 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
   AppIdentityCredential credential =
       new AppIdentityCredential(Arrays.asList(UrlshortenerScopes.URLSHORTENER));
   Urlshortener shortener =
       new Urlshortener.Builder(new UrlFetchTransport(), new JacksonFactory(), credential)
       .build();
   UrlHistory history = shortener.URL().list().execute();
   ...
 }
জাভা-এর অ্যান্ড্রয়েড-নির্দিষ্ট সহায়ক ক্লাসের জন্য Google ক্লায়েন্ট লাইব্রেরি অ্যান্ড্রয়েড অ্যাকাউন্ট ম্যানেজার -এর সাথে ভালভাবে সংহত। যেমন:
 @Override
 public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   // Google Accounts
   credential =
       GoogleAccountCredential.usingOAuth2(this, Collections.singleton(TasksScopes.TASKS));
   SharedPreferences settings = getPreferences(Context.MODE_PRIVATE);
   credential.setSelectedAccountName(settings.getString(PREF_ACCOUNT_NAME, null));
   // Tasks client
   service =
       new com.google.api.services.tasks.Tasks.Builder(httpTransport, jsonFactory, credential)
           .setApplicationName("Google-TasksAndroidSample/1.0").build();
 }
আপনি যদি জেনারেট করা লাইব্রেরি ব্যবহার না করেন, তাহলে আপনি ডাউনলোড পৃষ্ঠা থেকে সরাসরি জাভার জন্য Google API ক্লায়েন্ট লাইব্রেরির জন্য বাইনারি ডাউনলোড করতে পারেন, অথবা আপনি Maven বা Gradle ব্যবহার করতে পারেন। Maven ব্যবহার করতে, আপনার pom.xml ফাইলে নিম্নলিখিত লাইন যোগ করুন:
 <project>
  <dependencies>
   <dependency>
     <groupId>com.google.api-client</groupId>
     <artifactId>google-api-client</artifactId>
     <version>1.32.1</version>
   </dependency>
  </dependencies>
 </project>

Gradle ব্যবহার করতে, আপনার build.gradle ফাইলে নিম্নলিখিত লাইন যোগ করুন:
 repositories {
      mavenCentral()
  }
  dependencies {
      compile 'com.google.api-client:google-api-client:1.32.1'
  }
Java এর জন্য Google API ক্লায়েন্ট লাইব্রেরি ইনস্টল এবং সেট আপ করার বিষয়ে আরও বিশদ বিবরণের জন্য, ডাউনলোড এবং সেটআপ নির্দেশাবলী দেখুন।
জাভার জন্য Google API ক্লায়েন্ট লাইব্রেরি এই জাভা পরিবেশ সমর্থন করে:
  • Java 7 বা উচ্চতর, স্ট্যান্ডার্ড (SE) এবং এন্টারপ্রাইজ (EE)।
  • গুগল অ্যাপ ইঞ্জিন
  • অ্যান্ড্রয়েড 4.4 বা উচ্চতর — তবে আপনার প্রয়োজনীয় Google পরিষেবার জন্য যদি একটি Google Play পরিষেবা লাইব্রেরি উপলব্ধ থাকে, তাহলে এটির পরিবর্তে সেই লাইব্রেরিটি ব্যবহার করুন৷ Google Play লাইব্রেরি আপনাকে সেরা সম্ভাব্য কর্মক্ষমতা এবং অভিজ্ঞতা দেবে৷
সমর্থিত নয়: Google Web Toolkit (GWT), Java mobile (ME), এবং Java 6 (বা আগে)।

নির্ভরতা

জাভার জন্য Google API ক্লায়েন্ট লাইব্রেরি (google-api-java-client) দুটি সাধারণ লাইব্রেরির উপরে তৈরি করা হয়েছে, এছাড়াও Google দ্বারা নির্মিত, এবং ওয়েবে যেকোনো HTTP পরিষেবার সাথে কাজ করার জন্য ডিজাইন করা হয়েছে: