桌面应用程序无法使用Google云端硬盘?

时间:2016-03-31 20:02:49

标签: java netbeans google-drive-api desktop-application

我开发的应用程序是基于AES和TwoFish加密的文件加密软件。一切正常但我被要求允许计算机用户在线上传或保存google驱动器存储帐户中的文件。

我的桌面应用程序目前的工作方式是用户需要使用用户名和密码登录系统,并根据输入的用户名和密码将用于登录他们的google云端硬盘帐户(是的,我知道这是不实用,但现在它只是我想要它的工作,直到我找到一个更好的方法这样做)。

在理解Google开发人员网页上显示的编码方面,我遇到了一些问题。

我遇到的第一个问题是将我的java桌面应用程序连接到Google云端硬盘帐户。我需要一些解释的代码(即使只是一些注释),我将能够理解和操作,所以我可以让它适用于我的桌面应用程序。

将文件上传到Google云端硬盘的编码,如下:

private static InputStream FileDownloadFromCloudDrive(Drive service, File file) {
    if (file.getDownloadUrl() != null && file.getDownloadUrl().length() > 0) {
      try {
        HttpResponse resp =
            service.getRequestFactory().buildGetRequest(new GenericUrl(file.getDownloadUrl()))
                .execute();
        return resp.getContent();
      } catch (IOException e) {
        // An error occurred.
        e.printStackTrace();
        return null;
      }
    } else {
      // File contains no contents that is on the Drive.
      return null;
    }
  }

显然,来自几个网站和地点的编码说它只返回部分文件和一些信息。任何人都可以帮助我使用这种编码来理解它并帮助我以任何方式纠正它。

用于显示来自Google云端硬盘帐户的文件列表的编码:

private static List<File> retrieveAllFiles(Drive service) throws IOException {
    List<File> result = new ArrayList<File>();
    Files.List request = service.files().list();

    do {
      try {
        FileList files = request.execute();

        result.addAll(files.getItems());
        request.setPageToken(files.getNextPageToken());
      } catch (IOException e) {
        System.out.println("An error occurred: " + e);
        request.setPageToken(null);
      }
    } while (request.getPageToken() != null &&
             request.getPageToken().length() > 0);

    return result;
  }

希望这会起作用,只需要在稍后阶段以某种方式显示它,就像在textarea中一样。

总的来说,我需要帮助编码才能连接到Google云端硬盘,以便将文件上传到云端硬盘帐户。最后我需要帮助的是连接编码需要什么,例如Google drive api或sdk(如何安装以及需要它)

我真的需要帮助,因为在互联网上挖掘,不同的网站让我感到困惑。 任何帮助和编码将不胜感激:)

0 个答案:

没有答案