2013-06-23 42 views
13

yêu tất cảCách đúng để tìm tệp theo "đường dẫn đầy đủ" trong API Google Drive v2

Tôi đang cố gắng tìm danh sách tài liệu theo "đường dẫn đầy đủ". Và sau khi đọc tài liệu tham khảo API, nó có vẻ là một nhiệm vụ phức tạp. Giả sử con đường của tôi là một cái gì đó giống như/path0/path1/path2/...

  1. Danh sách trẻ em của thư mục gốc và tất cả trẻ em với tên bằng "path0" và đặt chúng vào một danh sách "result0"
  2. Tìm tất cả trẻ em của các mục trong "result0" với tên bằng "path1" và đặt chúng vào một danh sách "result1"
  3. Tìm tất cả trẻ em của các mục trong "result1" với tên bằng "path2" và ...

Phương pháp trên có vẻ rất hiệu quả vì nó cần nhiều tương tác giữa ứng dụng của tôi và Drive. Tôi hiểu Google Drive cho phép nhiều tệp chia sẻ cùng một tên tệp ngay cả trong cùng một thư mục. Sẽ hữu ích nếu tôi có thể làm điều gì đó như:

listDocByFullPath("path0/path1/path2") 

Điều này có thể thực hiện với phiên bản hiện tại của Google Drive SDK không? Nếu nó chưa có, tôi đã tự hỏi nếu có một cách đơn giản hơn những gì tôi liệt kê ở đây.

BTW, vì ứng dụng của tôi hoàn toàn là dịch vụ back-end nên không thể sử dụng bộ chọn tệp do Google cung cấp.

Chúc mừng.

+0

Bạn đã bao giờ tìm thấy giải pháp chưa? Tôi đang đối mặt với cùng một vấn đề. –

Trả lời

11

Không giống như các hệ thống tệp thông thường, tệp có thể nằm trong nhiều thư mục trên Drive. Các thư mục khá giống với các nhãn. Do đó, các đường dẫn thông thường không phải lúc nào cũng hoạt động bên trong trừu tượng của chúng ta. Tôi khuyên bạn nên tuân theo logic bên dưới:

  1. Liệt kê các tệp có q = 'root' in parents and title = 'path0' and mimeType = 'application/vnd.google-apps.folder' và chọn kết quả đầu tiên.
  2. Nếu có kết quả phù hợp, hãy lấy id của thư mục và thực hiện một danh sách khác với '<id of path0>' in parents and title = 'path1' and mimeType='application/vnd.google-apps.folder' và chọn kết quả đầu tiên.
  3. Tiếp tục cho đến khi bạn đến thư mục đích của mình.
+4

Tôi muốn xem dịch vụ để giải quyết id đích cho tôi. – peter

+3

Xin chào, Burcu Cảm ơn câu trả lời của bạn. Đây chính xác là những gì tôi đang làm bây giờ. Có vẻ như Ok vào lúc này. Mặc dù tôi đã lo lắng về hiệu suất trong tương lai. Có vẻ như các tương tác giữa ứng dụng của tôi và API Drive tăng tuyến tính khi độ sâu của thư mục tăng lên. API tôi đề xuất có thể thực sự đơn giản hóa mọi thứ ở đây. Chúc mừng. –

2

Vấn đề lớn nhất là đường dẫn không xác định duy nhất tệp hoặc thư mục! Ví dụ: trong giao diện người dùng web, bạn có thể tạo 2 thư mục có cùng tên làm con của cùng một thư mục. tức là bạn có thể tạo một cây trông giống như: root |-somefolder |-somefolder

Các vấn đề liên quan