drive API Nâng cấp drive one không giới hạn tài khoản dung lượng

Thứ tư - 09/10/2024 11:36
drive API Nâng cấp drive one không giới hạn tài khoản dung lượng. Xin chào các bạn, trong bài viết này, mình sẽ hướng dẫn cách sử dụng Java để viết các chức năng liên quan đến Google Drive API.
drive API Nâng cấp drive one không giới hạn tài khoản dung lượng (2)
drive API Nâng cấp drive one không giới hạn tài khoản dung lượng (2)

drive API Nâng cấp drive one không giới hạn tài khoản dung lượng Xin chào các bạn, trong bài viết này, mình sẽ hướng dẫn cách sử dụng Java để viết các chức năng liên quan đến Google Drive API. Điều này sẽ giúp chúng ta quản lý và sử dụng các tệp trên Google Drive thông qua Google Drive API.

Giới thiệu về Google Drive API

Google Drive API cho phép bạn phát triển các ứng dụng tận dụng lưu trữ đám mây của Google Drive. Bạn có thể tích hợp Google Drive vào ứng dụng của mình và tạo ra những chức năng sử dụng Google Drive.

Hãy cùng xem qua hình ảnh thể hiện mối quan hệ giữa ứng dụng của bạn, Google Drive và Google Drive API:

drive API Nâng cấp drive one không giới hạn tài khoản dung lượng (3)

Google Drive: Là dịch vụ lưu trữ tệp đám mây của Google, cung cấp cho người dùng không gian lưu trữ cá nhân, gọi là My Drive, và tùy chọn truy cập vào các thư mục chia sẻ cộng tác, được gọi là ổ đĩa chung.

Google Drive API: Là REST API cho phép bạn tận dụng bộ nhớ Google Drive từ trong ứng dụng của mình.

Google Drive app: Là ứng dụng sử dụng Google Drive như một giải pháp lưu trữ.
drive API Nâng cấp drive one không giới hạn tài khoản dung lượng

Google Drive UI: Giao diện người dùng của Google để quản lý các tệp được lưu trữ trên Google Drive. Nếu ứng dụng của bạn là một trình chỉnh sửa, chẳng hạn như ứng dụng bảng tính hoặc trình xử lý văn bản, bạn có thể tích hợp với Giao diện người dùng để tạo và mở tệp trong ứng dụng của mình.

My Drive: Vị trí lưu trữ trên Google Drive mà người dùng sở hữu. Các tệp được lưu trữ trên My Drive có thể được chia sẻ với người dùng khác, nhưng quyền sở hữu nội dung vẫn thuộc về người dùng đó.

OAuth 2.0: Là giao thức ủy quyền mà Google Drive API yêu cầu để xác thực người dùng ứng dụng của bạn. Nếu ứng dụng của bạn sử dụng Đăng nhập Google, nó sẽ xử lý luồng OAuth 2.0 và mã thông báo truy cập ứng dụng.
Bạn có thể làm gì với Google Drive API?

  • Tải xuống và Tải tệp lên Google Drive: Bạn có thể dễ dàng quản lý các tệp bằng cách tải chúng lên hoặc tải xuống từ Google Drive.
  • Tìm kiếm tệp và thư mục trên Google Drive: API cho phép bạn thực hiện tìm kiếm hiệu quả để tìm các tệp và thư mục cụ thể.
  • Chia sẻ tệp và thư mục: Người dùng có thể chia sẻ tệp và thư mục để hợp tác với người khác về nội dung trên Google Drive.
  • Kết hợp với API Google Picker: Sử dụng Google Picker để tìm kiếm tất cả các tệp trong Google Drive, trả về tên tệp, URL, ngày sửa đổi cuối cùng và người dùng.
  • Tạo phím tắt: Bạn có thể tạo các liên kết bên ngoài đến dữ liệu lưu trữ bên ngoài Drive, trong một kho lưu trữ dữ liệu hoặc hệ thống lưu trữ đám mây khác.
  • Tạo thư mục chuyên dụng: Tạo thư mục trong Google Drive để lưu trữ dữ liệu của ứng dụng, đảm bảo rằng ứng dụng không thể truy cập tất cả nội dung mà người dùng lưu trữ.
  • Tích hợp với Giao diện người dùng Google Drive: Sử dụng giao diện web tiêu chuẩn của Google để tương tác với các tệp trên Drive.

Bật Google Drive API
drive API Nâng cấp drive one không giới hạn tài khoản dung lượng

Để bắt đầu làm việc với Google Drive API, bạn cần khởi tạo một service account và tạo khóa cho phép service account đó truy cập Google Drive. Thao tác trên Google Drive API sẽ được thực hiện thông qua service account của tài khoản Google của bạn, thay vì trực tiếp từ tài khoản chính. Dưới đây là hướng dẫn để tạo ra .p12 key cho service account, cho phép service account thao tác trực tiếp với Google Drive:

  1. Truy cập vào trang web: Google Cloud Console. Chọn một project; nếu chưa có, hãy tạo một project mới.
  2. Tiếp tục chọn CredentialsCreate credentialsService account key.
  3. Chọn loại P12 và tạo service mới, sau đó nhấn vào nút Create.
  4. drive API Nâng cấp drive one không giới hạn tài khoản dung lượng (1)

    Cuối cùng, lưu lại tệp .p12 và ghi nhớ service account ID của bạn để sử dụng cho thuộc tính google-drive.service-account (sẽ được dùng trong ứng dụng).

Cấu hình ứng dụng

Tiếp theo, mình sẽ hướng dẫn bạn cách cấu hình ứng dụng Spring Boot để có thể thao tác với Google Drive.

Thêm dependency vào ứng dụng: Bạn cần thêm các thư viện cần thiết vào ứng dụng của mình để sử dụng Google Drive API.
xml

Sao chép mã

<dependency>    <groupId>com.google.apis</groupId>    <artifactId>google-api-services-drive</artifactId>    <version>v3-rev136-1.25.0</version> </dependency>

Thiết lập Bean cho Drive

java

Sao chép mã

@Autowired private GoogleCredential googleCredential; @Bean public Drive getService() throws GeneralSecurityException, IOException {    final NetHttpTransport HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();    return new Drive.Builder(HTTP_TRANSPORT,            JacksonFactory.getDefaultInstance(), googleCredential)            .build(); } @Bean public GoogleCredential googleCredential() throws GeneralSecurityException, IOException {    Collection<String> elenco = new ArrayList<>();    elenco.add("https://www.googleapis.com/auth/drive");    HttpTransport httpTransport = new NetHttpTransport();    JacksonFactory jsonFactory = new JacksonFactory();    return new GoogleCredential.Builder()            .setTransport(httpTransport)            .setJsonFactory(jsonFactory)            .setServiceAccountId("account_service_cua_ban@account_service_cua_ban.iam.gserviceaccount.com")            .setServiceAccountScopes(elenco)            .setServiceAccountPrivateKeyFromP12File(new File("path/to/google-service-key.p12"))            .build(); }

Lưu ý:

  • account_service_cua_ban@account_service_cua_ban.iam.gserviceaccount.com là địa chỉ email của service account mà bạn đã tạo khi generate tệp .p12.
  • path/to/google-service-key.p12 là đường dẫn đến tệp .p12 mà bạn đã tải xuống trước đó.

Thao tác với Google Drive

Đến đây, bạn có thể dễ dàng thao tác với Google Drive bằng thư viện com.google.api.services.drive.Drive mà bạn đã khởi tạo Bean ở trên.

java

Sao chép mã

@Autowired private Drive googleDrive;

Sử dụng một số hàm cơ bản

Lấy tất cả tệp:

java

Sao chép mã

private List<File> getAllGoogleDriveFiles() throws IOException {    FileList result = googleDrive.files().list()            .setFields("nextPageToken, files(id, name, parents, mimeType)")            .execute();    return result.getFiles(); }

Hàm setFields chỉ định các trường mà bạn có thể lấy từ tệp nhận được. Ví dụ, khi sử dụng .setFields("files(id, name, parents, mimeType)"), bạn có thể lấy ID bằng cách sử dụng hàm file.getId().

Tạo thư mục mới:

java

drive API Nâng cấp drive one không giới hạn tài khoản dung lượng (2)

Sao chép mã

private String createNewFolder(String folderName) throws IOException {    File fileMetadata = new File();    fileMetadata.setName(folderName);    fileMetadata.setMimeType("application/vnd.google-apps.folder");    File file = googleDrive.files().create(fileMetadata).setFields("id").execute();    return file.getId(); }

Tải lên tệp:

java

Sao chép mã

File newGGDriveFile = new File(); newGGDriveFile.setParents(parents).setName(fileName); FileContent mediaContent = new FileContent("application/zip", fileToUpload); File file = googleDrive.files().create(newGGDriveFile, mediaContent).setFields("id,webViewLink").execute();

  • fileName là tên tệp sẽ được tải lên Google Drive.
  • fileToUpload là đối tượng java.io.File chỉ định tệp sẽ được tải lên Google Drive.
  • FileContent mediaContent = new FileContent("application/zip", fileToUpload); chỉ định rằng tệp tải lên có định dạng zip.
  • parents là danh sách ID của thư mục cha mà bạn muốn tải lên.

Sau đó, bạn có thể lấy URL của tệp bằng cách sử dụng file.getWebViewLink() do trước đó bạn đã thiết lập giá trị của webViewLink trả ra bằng cách setFields("id,webViewLink").

Xóa tệp:

java

Sao chép mã

private static void deleteFile(String fileId) {    try {        googleDrive.files().delete(fileId).execute();    } catch (IOException e) {        System.out.println("An error occurred: " + e);    } }

  • fileId là ID của tệp cần xóa trên Google Drive.

Tải xuống tệp:

java

Sao chép mã

String fileId = "0BwwA4oUTeiV1UVNwOHItT0xfa4G"; OutputStream outputStream = new ByteArrayOutputStream(); googleDrive.files().get(fileId)    .executeMediaAndDownloadTo(outputStream);

Lưu ý
drive API Nâng cấp drive one không giới hạn tài khoản dung lượng

Khi thao tác trên Google Drive, bạn sử dụng tài khoản service. Do đó, các thư mục là của tài khoản service và không có giao diện cụ thể như tài khoản Google chính, vì vậy bạn sẽ không thể xem trực tiếp các tệp bằng Google Drive. Để xem các tệp này, bạn có thể tạo một thư mục trên Google Drive bằng tài khoản Google chính và sau đó chia sẻ quyền cho tài khoản service. Khi đó, ứng dụng của bạn sẽ thao tác trên thư mục đó và bạn có thể vào Google Drive để xem các tệp của mình một cách bình thường.

Kết luận

Bài viết trên chỉ là một phần tìm hiểu về Google Drive API và hướng dẫn cách sử dụng Java để thao tác với Google Drive API. Bạn có thể tham khảo tài liệu Google Drive API V3 để tìm hiểu thêm về nhiều chức năng khác cũng như cách sử dụng các ngôn ngữ khác với Google Drive API. Hy vọng bài viết sẽ hữu ích cho bạn trong học tập và công việc!

Tác giả: bientap3nguyenhuy

Nguồn tin: viblo. asia

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

Click để đánh giá bài viết

  Ý kiến bạn đọc

Những tin mới hơn

Những tin cũ hơn

Thống kê
  • Đang truy cập23
  • Hôm nay1,337
  • Tháng hiện tại15,112
  • Tổng lượt truy cập37,713
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây
Contact Me on Zalo
Contact Me on Zalo
0934616579