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 thư viện được tạo dành riêng cho dịch vụ của Google với Thư viện ứng dụng Java cho API của Google. (Để tìm thư viện ứng dụng đã tạo cho một API Google, hãy truy cập vào danh sách API của Google được hỗ trợ.) Sau đây là ví dụ về cách sử dụng Thư viện ứng dụng API Lịch cho Java để gọi đến 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 việc tạo lô và tải nội dung nghe nhìn lên/tải xuống dễ dàng hơn
Thư viện này cung cấp các lớp trợ giúp để gửi hàng loạt, 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ó thư viện xác thực mạnh mẽ, có thể giúp bạn giảm lượng mã cần thiết để xử lý OAuth 2.0. Đôi khi, bạn chỉ cần viết một vài dòng là đủ. 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
Trình trợ giúp dành riêng cho App Engine 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.
Thư viện ứng dụng Google dành cho các lớp trợ giúp dành riêng cho Android của Java được tích hợp tốt 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 sử dụng thư viện đã tạo, bạn có thể tải tệp nhị phân cho Thư viện ứng dụng Java của Google xuống ngay trên trang tải xuống hoặc bạn có thể sử 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:
<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:
repositories { mavenCentral() } dependencies { compile 'com.google.api-client:google-api-client:1.32.1' }Để biết thêm thông tin chi tiết về cách cài đặt và thiết lập Thư viện ứng dụng Java cho API của Google, hãy xem hướng dẫn tải xuống và 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ể.