Java से Google API को आसानी से ऐक्सेस करें

Java के लिए Google API क्लाइंट लाइब्रेरी, सभी Google API के लिए एक जैसी सुविधाएं देती है. इनमें एचटीटीपी ट्रांसपोर्टेशन, गड़बड़ी को मैनेज करना, पुष्टि करना, JSON पार्स करना, मीडिया डाउनलोड/अपलोड करना, और बैच बनाना शामिल है. इस लाइब्रेरी में, OAuth 2.0 लाइब्रेरी की सुविधा का इस्तेमाल किया जा सकता है. इसमें लगातार काम करने वाला इंटरफ़ेस, लाइट, एक्सएमएल, और JSON डेटा मॉडल शामिल हैं. साथ ही, किसी भी डेटा स्कीमा के साथ काम करने की सुविधा और प्रोटोकॉल बफ़र की सुविधा भी काम करती है.

Java के लिए, Google API की मदद से Google API को कॉल करने के लिए, आपको उस Google API के लिए जनरेट की गई Java लाइब्रेरी की ज़रूरत होगी जिसे आप ऐक्सेस कर रहे हैं. इन जनरेट की गई लाइब्रेरी में एपीआई की खास जानकारी, जैसे कि रूट यूआरएल जैसी google-api-java-client लाइब्रेरी होती है. इनमें क्लास शामिल हैं, जो एपीआई के संदर्भ में इकाइयां दिखाती हैं. साथ ही, वे JSON ऑब्जेक्ट और Java ऑब्जेक्ट के बीच कन्वर्ज़न करने के लिए उपयोगी हैं.
क्लास या तरीके के लेवल पर, @Beta के तौर पर मार्क की गई सुविधाओं में बदलाव किया जा सकता है. उन्हें किसी भी मेजर रिलीज़ से बदला जा सकता है या हटाया जा सकता है. अगर आपका कोड एक लाइब्रेरी है (यानी, अगर आपके कोड का इस्तेमाल आपके कंट्रोल से बाहर के उपयोगकर्ताओं के CLASSPATH पर किया गया है), तो बीटा सुविधाओं का इस्तेमाल न करें.
इस्तेमाल न की जा सकने वाली नॉन-बीटा सुविधाओं को रिलीज़ के अठारह महीने बाद हटा दिया जाएगा. हालांकि, ऐसा सिर्फ़ तब होगा, जब उनका बहिष्कार किया गया हो. आपको इस अवधि से पहले, इस्तेमाल से जुड़ी गड़बड़ी ठीक करनी होगी. ऐसा न करने पर, किसी भी तरह की गड़बड़ी हो सकती है और यह ज़रूरी नहीं है कि कंपाइलेशन में गड़बड़ी हो.

Java के लिए Google API क्लाइंट लाइब्रेरी की खास बातें

Google API को कॉल करने के लिए, खास तौर पर Google की जनरेट की गई किसी सेवा का इस्तेमाल करके, Java के लिए Google API क्लाइंट लाइब्रेरी का इस्तेमाल किया जा सकता है. (किसी Google API के लिए जनरेट की गई क्लाइंट लाइब्रेरी देखने के लिए, इस्तेमाल किए जा सकने वाले Google API की सूची पर जाएं.) यहां एक उदाहरण दिया गया है, जिसमें Google Calendar API को कॉल करने के लिए, Java के लिए Calendar 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");
}
App Engine से जुड़े काम करने वाले खास लोग, पुष्टि किए गए कॉल को एपीआई पर तेज़ी से करते हैं. आपको टोकन के लिए कोड बदलने की चिंता करने की ज़रूरत नहीं है.

उदाहरण के लिए:
 @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();
   ...
 }
Java की Android से जुड़ी हेल्पर क्लास के लिए Google क्लाइंट लाइब्रेरी को Android AccountManager के साथ अच्छी तरह से इंटिग्रेट किया गया है. उदाहरण के लिए:
 @Override