[英]Google Drive SDK File.getFileSize() NullPointerException
[英]file object methods throws NullPointerException - Google Drive API
在https://developers.google.com/drive/v3/web/quickstart/java中配置并成功测试快速入门代码之后
我尝试了其他文件方法(例如,getFileExtension(),WebViewLink(),Md5 Checksum())后收到NullPointerException,即使file.getName()和file.getId()工作正常。
原始工作代码:
public static void main(String[] args) throws IOException {
// Build a new authorized API client service.
Drive service = getDriveService();
// Print the names and IDs for up to 10 files.
FileList result = service.files().list()
.setPageSize(10)
.setFields("nextPageToken, files(id, name)")
.execute();
List<File> files = result.getFiles();
if (files == null || files.size() == 0) {
System.out.println("No files found.");
} else {
System.out.println("Files:");
for (File file : files) {
System.out.printf("%s (%s)\n", file.getName(), file.getId());
}
}
}
我将不胜感激任何了解Null Pointer原因的文件对象调用其他方法的原因。 非常感谢
您需要将所有需要的字段放在.setFields("nextPageToken, files(id, name)")
。 现在,您只有id
和name
。 因此,您将获得仅包含id
和name
的部分响应,因此其他所有内容均为null
,因此您将获得NullPointerException
。 如果要获取包含有关文件的所有数据的完整响应,请尝试.setFields("nextPageToken, files")
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.