分享我的解决方案,这将对其他人有所帮助:)…
经过几次Google搜索并从Google Drive文档中获得了 Java Drive Rest V2 API
,我知道没有方法可以调用/获取完整的文件路径。
因此,我创建了以下两种自定义方法来实现我的问题解决方案:
- 具有字符串返回类型的“ getFilePath(drive,file) ”。
- “ getfoldersList(drive,parentReferencesList,folderList) ”与字符串返回类型的列表。
以下是代码段
public static void main(String[] args) throws IOException { // Build a new authorized API client service. Drive service = getDriveService(); try { // Print the file path and name. FileList result = service.files().list().execute(); List<File> files = result.getItems(); if (files == null || files.size() == 0) { System.out.println("No files found."); } else { System.out.println("Files:"); for (File file : files) { if (!(file.getMimeType().contains("folder"))) { String filePath = null; if (!(file.getParents().isEmpty())) { filePath = getFilePath(service, file); } System.out.println("path: " + filePath); System.out.println("name: " + file.getTitle()); System.out.println(); } } System.out.println("== END =="); } } catch (Exception e) { System.out.println(e); }}private static String getFilePath(Drive drive, File file) throws IOException { String folderPath = ""; String fullFilePath = null; List<ParentReference> parentReferencesList = file.getParents(); List<String> folderList = new ArrayList<String>(); List<String> finalFolderList = getfoldersList(drive, parentReferencesList, folderList); Collections.reverse(finalFolderList); for (String folder : finalFolderList) { folderPath += "/" + folder; } fullFilePath = folderPath + "/" + file.getTitle(); return fullFilePath;}private static List<String> getfoldersList(Drive drive, List<ParentReference> parentReferencesList, List<String> folderList) throws IOException { for (int i = 0; i < parentReferencesList.size(); i++) { String id = parentReferencesList.get(i).getId(); File file = drive.files().get(id).execute(); folderList.add(file.getTitle()); if (!(file.getParents().isEmpty())) { List<ParentReference> parentReferenceslist2 = file.getParents(); getfoldersList(drive, parentReferenceslist2, folderList); } } return folderList;}-
谢谢,
Arpit Bora



