เข้าถึง 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
หากต้องการเรียกใช้ Google API โดยใช้ไลบรารีของไคลเอ็นต์ Google สําหรับ Java คุณต้องมีไลบรารี Java ที่สร้างขึ้นสําหรับ Google API ที่คุณกําลังเข้าถึง ไลบรารีที่สร้างขึ้นเหล่านี้ประกอบด้วยไลบรารีหลัก google-api-java-client พร้อมด้วยข้อมูลเฉพาะของ API เช่น URL ราก นอกจากนี้ยังมีคลาสที่แสดงเอนทิตีในบริบทของ API และมีประโยชน์สําหรับการทํา Conversion ระหว่างออบเจ็กต์ JSON และออบเจ็กต์ Java
ฟีเจอร์ที่เลิกใช้งาน
เราจะนําฟีเจอร์ที่ไม่ใช่เวอร์ชันเบต้าออก 18 เดือนหลังจากเปิดตัวฟีเจอร์ดังกล่าว คุณต้องแก้ไขการใช้งานก่อนเวลาดังกล่าว หากไม่เป็นเช่นนั้น ความเสียหายทุกประเภทอาจทําให้เกิดผลลัพธ์ และไม่รับประกันว่าจะเป็นการข้อผิดพลาดของการคอมไพล์
ไฮไลต์ไลบรารีของไคลเอ็นต์ Google API สําหรับ Java
เรียก Google API ได้ง่ายๆ
คุณสามารถเรียก Google API โดยใช้ไลบรารีที่สร้างขึ้นสําหรับบริการของ Google โดยเฉพาะได้ด้วยไลบรารีของไคลเอ็นต์ Google API สําหรับ Java (หากต้องการดูไลบรารีของไคลเอ็นต์ที่สร้างขึ้นสําหรับ Google API ให้ไปที่รายการ Google API ที่รองรับ) ต่อไปนี้คือตัวอย่างที่ใช้ไลบรารีของไคลเอ็นต์ Calendar API สําหรับ Java ในการเรียก Google Calendar 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"); }
ไลบรารีนี้ทํางานบน Google App Engine
เครื่องมือช่วยเหลือเฉพาะของ 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(); ... }
ไลบรารีนี้ทํางานบน Android 4.4 ขึ้นไป
ไลบรารีของไคลเอ็นต์ Google สําหรับชั้นเรียนผู้ช่วยที่มี Android โดยเฉพาะของ Java' นั้นผสานรวมเข้ากับ 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 ของคุณ
หากต้องการใช้ Gradle ให้เพิ่มบรรทัดต่อไปนี้ในไฟล์ build.gradle
<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 ขึ้นไป, Standard (SE) และ Enterprise (EE)
- Google App Engine
- Android 4.4 ขึ้นไป - หากมีไลบรารีบริการ Google Play สําหรับบริการ Google ที่คุณต้องการ ให้ใช้ไลบรารีนั้นแทนไลบรารีนี้ ไลบรารี Google Play จะมอบประสิทธิภาพและประสบการณ์ที่ดีที่สุดเท่าที่จะทําได้