Dễ dàng truy cập các API của Google từ Java
Thư viện ứng dụng Java cho API của Google cung cấp chức năng phổ biến cho tất cả các API của Google, ví dụ: truyền HTTP, xử lý lỗi, xác thực, phân tích cú pháp JSON, tải xuống/tải lên phương tiện và tạo lô. Thư viện này có thư viện OAuth 2.0 mạnh mẽ với giao diện nhất quán; các mô hình dữ liệu XML và JSON nhẹ, hiệu quả có hỗ trợ mọi giản đồ dữ liệu; và hỗ trợ các vùng đệm giao thức.
Để gọi một API của Google bằng các thư viện ứng dụng của Google dành cho Java, bạn cần có thư viện Java đã tạo cho API Google mà bạn đang truy cập. Các thư viện được tạo này bao gồm thư viện google-api-java-client cốt lõi cùng với thông tin dành riêng cho API, chẳng hạn như URL gốc. Chúng cũng bao gồm các lớp đại diện cho các thực thể trong ngữ cảnh của API và hữu ích để chuyển đổi giữa các đối tượng JSON và đối tượng Java.
Để gọi một API của Google bằng các thư viện ứng dụng của Google dành cho Java, bạn cần có thư viện Java đã tạo cho API Google mà bạn đang truy cập. Các thư viện được tạo này bao gồm thư viện google-api-java-client cốt lõi cùng với thông tin dành riêng cho API, chẳng hạn như URL gốc. Chúng cũng bao gồm các lớp đại diện cho các thực thể trong ngữ cảnh của API và hữu ích để chuyển đổi giữa các đối tượng JSON và đối tượng Java.
Tính năng thử nghiệm
Các tính năng được đánh dấu bằng @Beta ở cấp lớp hoặc phương thức có thể thay đổi. Những ứng dụng này có thể được sửa đổi hoặc xoá trong bất kỳ bản phát hành chính nào. Không sử dụng các tính năng thử nghiệm nếu mã của bạn chính là thư viện (nghĩa là nếu mã của bạn được dùng trên CLASSPATH của người dùng nằm ngoài tầm kiểm soát của bạn).
Những tính năng đã ngừng hoạt động
Các tính năng không sử dụng phiên bản beta sẽ bị xoá sau 18 tháng kể từ bản phát hành mà các tính năng này lần đầu không được dùng nữa. Bạn phải sửa các trường hợp sử dụng của mình trước thời điểm này. Nếu không, mọi loại sự cố đều có thể dẫn đến và bạn không đảm bảo sẽ gặp lỗi biên dịch.
Điểm nổi bật của Thư viện ứng dụng API của Google cho Java
Bạn có thể gọi API của Google một cách đơn giản
Bạn có thể gọi các API của Google bằng cách sử dụng các thư viện được tạo dành riêng cho dịch vụ của Google bằng Thư viện ứng dụng API của Google cho Java. (Để tìm thư viện ứng dụng đã tạo cho một API của Google, hãy truy cập vào danh sách các API được hỗ trợ của Google.) Sau đây là ví dụ sử dụng Thư viện ứng dụng API Lịch cho Java để gọi API Lịch Google:
// Show events on user's calendar. View.header("Show Calendars"); CalendarList feed = client.calendarList().list().execute(); View.display(feed);
Thư viện này giúp bạn dễ dàng tải lên/tải xuống nội dung nghe nhìn và tạo hàng loạt
Thư viện này cung cấp các lớp trợ giúp để nhóm nội dung nghe nhìn, tải nội dung nghe nhìn lên và tải nội dung nghe nhìn xuống.Thư viện giúp bạn xác thực dễ dàng hơn
Thư viện này có một thư viện xác thực mạnh mẽ có thể giảm lượng mã bạn cần để xử lý OAuth 2.0. Đôi khi, bạn chỉ cần một vài dòng. Ví dụ:
/** 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"); }
Thư viện chạy trên Google App Engine
Các trình trợ giúp dành riêng cho App Engine giúp thực hiện nhanh các lệnh gọi đã xác thực đến API và bạn không cần phải lo lắng về việc trao đổi mã cho mã thông báo.
Ví dụ:
Ví dụ:
@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(); ... }
Thư viện chạy trên Android 4.4 trở lên.
Các lớp trợ giúp dành riêng cho Android của Thư viện ứng dụng Google cho Java được tích hợp chặt chẽ với Android AccountManager. Ví dụ:
@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(); }
Dễ dàng cài đặt
Nếu không dùng thư viện đã tạo, bạn có thể tải tệp nhị phân xuống cho Thư viện ứng dụng API của Google dành cho Java ngay trên trang tải xuống, hoặc bạn có thể dùng Maven hoặc Gradle. Để sử dụng Maven, hãy thêm các dòng sau vào tệp pom.xml:
Để sử dụng Gradle, hãy thêm các dòng sau vào tệp build.gradle của bạn:
<project> <dependencies> <dependency> <groupId>com.google.api-client</groupId> <artifactId>google-api-client</artifactId> <version>1.32.1</version> </dependency> </dependencies> </project>
Để sử dụng Gradle, hãy thêm các dòng sau vào tệp build.gradle của bạn:
repositories { mavenCentral() } dependencies { compile 'com.google.api-client:google-api-client:1.32.1' }Để biết thêm chi tiết về cách cài đặt và thiết lập Google API Thư viện ứng dụng cho Java, hãy xem tải xuống và hướng dẫn thiết lập.
Môi trường được hỗ trợ
Thư viện ứng dụng Java cho API của Google hỗ trợ các môi trường Java sau:
- Java 7 trở lên, tiêu chuẩn (SE) và doanh nghiệp (EE).
- Google App Engine
- Android 4.4 trở lên – nhưng nếu thư viện Dịch vụ Google Play có sẵn cho dịch vụ của Google mà bạn cần, hãy sử dụng thư viện đó thay vì thư viện này. Thư viện Google Play sẽ mang đến cho bạn hiệu suất và trải nghiệm tốt nhất có thể.