Drive.Files中没有create()方法

时间:2016-04-26 04:58:54

标签: java google-drive-api

尝试制作将生成的JSON文件上传到Google云端硬盘的应用程序。它会检查驱动器中是否存在所需的文件夹。如果没有,它会创建一个。创建文件夹的方法如下:

public static String createFolder(String folderName) throws GeneralSecurityException, IOException {
    HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();

    // authorization
    Credential credential = authorize();

    // set up the global Drive instance
    drive = new Drive.Builder(httpTransport, JSON_FACTORY, credential)
            .setApplicationName("xyz")
            .build();

    File fileMetadata = new File();
    fileMetadata.setTitle(folderName);
    fileMetadata.setMimeType("application/vnd.google-apps.folder");

    File file = drive.files()
            .create(fileMetadata) // Not Recognised (Shows - Cannot find symbol)
            .setFields("id")
            .execute();

    return file.getId();
}

文件夹创建部分取自此tutorial。但似乎没有create()方法。试图找到是否有办法创建只是文件并找到this。它有一个类似的代码用于创建文件,但标题似乎表明它没有创建文件,它只是创建一个链接。

这是什么问题?我无法使用Java在Google云端硬盘中创建文件夹吗?如果可以,那么我还需要使用其他类或方法吗?

如果我没有遵守StackOverflow的规范或错过了我应该提及的细节,请回答或评论。

1 个答案:

答案 0 :(得分:2)

您正在将v2 JAR用于Google云端硬盘,但您的代码似乎是v3。如果要使用v3,请包含相应的JAR。如果您正在使用Maven项目,只需将其放入POM:

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

以下是官方文档的link,您可以在其中下载JAR并获取云端硬盘v3的更多信息。