2012-06-29 39 views
9

Tôi hơi bối rối bởi v2 Google Drive SDK.Liệt kê các thư mục và tệp bằng Google Drive SDK V2

Có vẻ như có 2 phương pháp để truy xuất thông tin về tệp và thư mục.

files.listchildren.list

Sử dụng files.list Tôi không có vẻ để có thể thu hẹp tìm kiếm của tôi để tập tin trong một thư mục cụ thể nhưng sử dụng children.list chỉ trả về thông tin tập tin rất cơ bản như ID. Không có tên tập tin.

Có vẻ như tôi phải truy xuất danh sách trẻ em và sau đó thực hiện yêu cầu cho từng trẻ để tìm ra tên tệp có vẻ rất kém hiệu quả.

Cách bình thường \ đúng để liệt kê các thư mục và nội dung của chúng bằng Google Drive là gì?

Trả lời

2

phương pháp thay thế là sử dụng files.list với một biểu thức truy vấn để hạn chế bởi cha mẹ.

q='id-of-parent' in parents 

Điều này sẽ cho bạn kết quả tương tự như bộ sưu tập trẻ em, nhưng với toàn bộ siêu dữ liệu cho từng mục.

+0

Cảm ơn. Tôi sẽ thử. – Kuffs

2

Cập nhật -

này bây giờ có thể đạt được với files.list. Bạn có thể chuyển tham số q bằng truy vấn kiểm tra parents của tệp hoặc thư mục.

q='MYFOLDERID' in parents 

Nhiều thông số tìm kiếm và các tùy chọn và các ví dụ ở đây: https://developers.google.com/drive/search-parameters

Original câu trả lời -

Vâng, điều này là đúng. Chúng tôi đang tìm cách để cải thiện tính năng này, nhưng tiếc là bạn đang mắc kẹt với điều này bây giờ - xin lỗi.

Nếu bạn đang khai thác tất cả các tệp và thư mục, giải pháp tốt hơn có thể là lấy danh sách phẳng và sử dụng mảng parents trong tệp để tạo phân cấp.

+6

Cảm ơn. Tôi sẽ hủy kế hoạch tích hợp GDrive của mình cho đến khi SDK trở nên chín chắn hơn. Băng thông cần thiết để tải xuống và lưu vào bộ nhớ cache toàn bộ cấu trúc ổ đĩa là một giao dịch trên thiết bị di động. Nếu bạn có bất kỳ câu hỏi nào trong vấn đề này, vui lòng phát hành Android SDK (phụ thuộc tối thiểu) nhẹ cho phép chúng tôi coi ổ đĩa là hệ thống tệp. tức là liệt kê các tập tin \ thư mục, xóa, tải lên, tải xuống vv. SDK hiện tại rất khó sử dụng. Tôi muốn thay thế Dropbox nhưng SDK của họ là cách tốt hơn vào lúc này và nó cho phép tôi làm những gì tôi cần làm. – Kuffs

2

1 trở về siêu dữ liệu (ít nhất là tên tập tin) cho children.list

+0

Với truy vấn files.list không còn cần thiết cho việc này nữa. –

1

Nếu bạn muốn để có được tất cả các thư mục trong ổ đĩa của bạn sử dụng:

FileList folders=service.files().list().setQ("mimeType='application/vnd.google-apps.folder'").execute(); 
for(File fl: folders.getItems()){ 
    Log.v(TAG+" fOLDER name:",fl.getTitle()); 
} 
Các vấn đề liên quan