Dễ dàng truy cập vào 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 cấp phương thức có thể thay đổi. Bạn có thể sửa đổi hoặc xoá các mã này trong mọi bản phát hành chính. Không sử dụng các tính năng thử nghiệm nếu mã của bạn là một thư viện (nghĩa là nếu mã được sử dụng trên CLASSPATH của những người dùng không thuộc quyền kiểm soát của bạn).
Những tính năng không dùng nữa
Những tính năng không còn được dùng nữa sẽ ngừng hoạt động sau 18 tháng kể từ khi phát hành những tính năng đầu tiên. Bạn phải khắc phục việc sử dụng trước thời điểm này. Nếu không, bất kỳ loại lỗi nào cũng có thể dẫn đến lỗi đó và bạn không đảm bảo được lỗi biên dịch.
Điểm nổi bật của Thư viện ứng dụng Java cho API của Google
Dễ dàng gọi API của Google
Bạn có thể gọi API của Google bằng cách sử dụng thư viện tạo riêng cho từng dịch vụ của Google bằng Thư viện ứng dụng Java cho API của Google. (Để tìm thư viện ứng dụng được tạo cho API Google, hãy truy cập danh sách API 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 lệnh truy cập 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 tải lên/tải xuống phương tiện theo lô và tải xuống dễ dàng hơn
Thư viện này cung cấp các lớp trợ giúp để tạo lô, tải lên phương tiện và tải xuống phương tiện.Thư viện giúp việc xác thực trở nên 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 này 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 này 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(); }
Cài đặt dễ dàng
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ợ những môi trường Java sau:
- Java 7 trở lên, 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ể.