เข้าถึง Google APIs จาก Java ได้อย่างง่ายดาย

ไลบรารีของไคลเอ็นต์ Google API สําหรับ Java มีฟังก์ชันที่ใช้ได้กับ Google API ทั้งหมด เช่น การรับส่งข้อมูล HTTP, การจัดการข้อผิดพลาด, การตรวจสอบสิทธิ์, การแยกวิเคราะห์ JSON, การดาวน์โหลด/อัปโหลดสื่อ และการจัดกลุ่ม ไลบรารีดังกล่าวมีไลบรารี OAuth 2.0 ที่มีประสิทธิภาพซึ่งมีอินเทอร์เฟซที่สอดคล้องกัน โมเดลข้อมูล XML และ JSON ที่มีประสิทธิภาพและมีน้ําหนักเบา ซึ่งรองรับสคีมาข้อมูลทุกรูปแบบ และรองรับบัฟเฟอร์โปรโตคอล

หากต้องการเรียกใช้ Google API โดยใช้ไลบรารีของไคลเอ็นต์ Google สําหรับ Java คุณต้องมีไลบรารี Java ที่สร้างขึ้นสําหรับ Google API ที่คุณกําลังเข้าถึง ไลบรารีที่สร้างขึ้นเหล่านี้ประกอบด้วยไลบรารีหลัก google-api-java-client พร้อมด้วยข้อมูลเฉพาะของ API เช่น URL ราก นอกจากนี้ยังมีคลาสที่แสดงเอนทิตีในบริบทของ API และมีประโยชน์สําหรับการทํา Conversion ระหว่างออบเจ็กต์ JSON และออบเจ็กต์ Java
ฟีเจอร์ที่มีเครื่องหมาย @Beta ในระดับชั้นเรียนหรือวิธีการอาจมีการเปลี่ยนแปลง อาจมีการแก้ไขหรือลบรายการเหล่านี้ในรุ่นหลัก อย่าใช้คุณลักษณะเบต้าหากโค้ดของคุณเป็นไลบรารี (กล่าวคือ ถ้าใช้โค้ดของคุณใน CLASSPATH ของผู้ใช้ที่อยู่นอกการควบคุมของคุณ)
ฟีเจอร์ที่ไม่ใช่รุ่นเบต้าและเลิกใช้งานจะถูกนำออก 18 เดือนหลังจากการเปิดตัวซึ่งจะเลิกใช้งานครั้งแรก คุณต้องแก้ไขการใช้งานก่อนเวลาดังกล่าว หากไม่ดำเนินการดังกล่าว อาจเกิดความเสียหายประเภทใดก็ตาม และไม่รับประกันว่าคุณจะมีข้อผิดพลาดในการรวบรวม

ไฮไลต์ของไลบรารีของไคลเอ็นต์ Google API สำหรับ Java

คุณสามารถเรียกใช้ Google API โดยใช้ไลบรารีที่สร้างเฉพาะบริการของ Google กับไลบรารีของไคลเอ็นต์ Google API สำหรับ Java (หากต้องการดูไลบรารีของไคลเอ็นต์ที่สร้างขึ้นสำหรับ Google API โปรดไปที่รายการ Google API ที่สนับสนุน) ตัวอย่างการใช้ไลบรารีของไคลเอ็นต์ API ของปฏิทินสำหรับ Java ในการเรียก Google ปฏิทิน API มีดังนี้
 // Show events on user's calendar.
 View.header("Show Calendars");
 CalendarList feed = client.calendarList().list().execute();
 View.display(feed);

ไลบรารีทำให้การอัปโหลด/ดาวน์โหลดเป็นกลุ่มและสื่อทำได้ง่ายขึ้น

ไลบรารีนี้มีชั้นเรียนผู้ช่วยสําหรับกลุ่ม การอัปโหลดสื่อ และการดาวน์โหลดสื่อ
ไลบรารีมีไลบรารีการตรวจสอบสิทธิ์ที่มีประสิทธิภาพซึ่งลดจํานวนโค้ดที่ต้องใช้ในการจัดการ OAuth 2.0 ได้ บางครั้งคุณอาจต้องกรอกข้อมูล 2-3 บรรทัด เช่น
 /** 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 จะเรียกใช้ 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 สําหรับชั้นเรียนผู้ช่วยที่มี Android โดยเฉพาะของ Java&#39 นั้นผสานรวมเข้ากับ Android AccountManager ได้ดี เช่น
 @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 สําหรับ Java ได้โดยตรงจากหน้าดาวน์โหลด หรือจะใช้ 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'
  }
โปรดดูรายละเอียดเพิ่มเติมเกี่ยวกับการติดตั้งและตั้งค่าไลบรารีของไคลเอ็นต์ Google API สําหรับ Java ที่หัวข้อวิธีการดาวน์โหลดและตั้งค่า
ไลบรารีของไคลเอ็นต์ Google API สำหรับ Java สนับสนุนสภาพแวดล้อม Java ต่อไปนี้
  • Java 7 ขึ้นไป, มาตรฐาน (SE) และ enterprise (EE)
  • Google App Engine
  • Android 4.4 ขึ้นไป แต่หากไลบรารีบริการ Google Play พร้อมใช้งานสำหรับบริการ Google ที่คุณต้องการ ให้ใช้ไลบรารีนั้นแทนไลบรารีนี้ คลัง Google Play ช่วยให้คุณได้รับประสิทธิภาพและประสบการณ์การใช้งานที่ดีที่สุด
ไม่รองรับ: Google Web Toolkit (GWT), Java Mobile (ME) และ Java 6 (หรือเก่ากว่า)

การอ้างอิง

ไลบรารีของไคลเอ็นต์ Google API สำหรับ Java (google-api-java-client) สร้างขึ้นจากไลบรารีทั่วไป 2 แบบที่ Google สร้างขึ้นเช่นกัน และออกแบบมาให้ใช้งานได้กับบริการ HTTP ทุกประเภทในเว็บ