我正在尝试在我的 android 应用程序中从 Google Drive 上传和下载文件。
我能够使用AccountManager.getAuthToken()
.
现在,我不知道如何使用该令牌来初始化 Drive 对象以开始向 Google Drive 发送请求。我使用了 Google Drive 稀缺文档中的示例中的以下代码,但它不起作用。显然,调用成功了,但是当我尝试上传文件时,它只是挂断,直到 Android 告诉我应用程序没有响应。
GoogleCredential credential = new GoogleCredential().setAccessToken(authToken);
HttpTransport httpTransport = new NetHttpTransport();
JsonFactory jsonFactory = new JacksonFactory();
Drive drive = null;
drive = Drive.builder(httpTransport, jsonFactory)
.setApplicationName(APP_NAME)
.setHttpRequestInitializer(credential)
.setJsonHttpRequestInitializer(new GoogleKeyInitializer(API_KEY))
.build();
要上传某个文件,我执行以下操作:
try
{
// local file
java.io.File fileLocal = new java.io.File(FILE_NAME);
// remote file
File remoteFile = new File();
remoteFile.setTitle(fileLocal.getName());
remoteFile.setDescription("Text File");
remoteFile.setMimeType("text/plain");
// load the content of the local file into the remote content
FileContent remoteFileContent = new FileContent("text/plain", fileLocal);
// upload the file into Google Drive
File resultFile = drive.files().insert(remoteFile, remoteFileContent).execute();
lblStatus.setText("Upload successful with file ID: " + resultFile.getId());
}
catch (Exception e)
{
// error handling
...
}
我已经阅读了 Google API 文档,它们一团糟,而且这些类没有适当的文档。他们提供的样品非常混乱。
知道为什么应用程序没有响应吗?我究竟做错了什么?任何帮助表示赞赏。谢谢。