- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在测试 SO 22295903 中讨论的删除、垃圾 功能时,我遇到了这个问题。
1/创建一个包含内容的文件
GoogleApiClient _gac;
DriveFile createFileWait(DriveFolder fldr, String name, String mime, byte[] buff) {
DriveFile drvFile = null;
try {
ContentsResult rslt = Drive.DriveApi.newContents(_gac).await();
if (rslt.getStatus().isSuccess()) {
Contents cont = rslt.getContents();
cont.getOutputStream().write(buff);
MetadataChangeSet meta = (mime == null) ?
new MetadataChangeSet.Builder().setTitle(name).build() :
new MetadataChangeSet.Builder().setTitle(name).setMimeType(mime).build();
drvFile = fldr.createFile(_gac, meta, cont).await().getDriveFile();
}
} catch (Exception e) {}
return drvFile;
}
2/使用查询(它的标题)检索文件:
ArrayList<DriveId> findAll(String title, String mime, DriveFolder fldr) {
ArrayList<DriveId> dIDs = null;
if (isConnected()) try {
ArrayList<Filter> fltrs = new ArrayList<Filter>();
fltrs.add(Filters.eq(SearchableField.TRASHED, false));
if (title != null) fltrs.add(Filters.eq(SearchableField.TITLE, title));
if (mime != null) fltrs.add(Filters.eq(SearchableField.MIME_TYPE, mime));
Query qry = new Query.Builder().addFilter(Filters.and(fltrs)).build();
MetadataBufferResult rslt = (fldr == null) ? Drive.DriveApi.query(_gac, qry).await() :
fldr.queryChildren(_gac, qry).await();
if (rslt.getStatus().isSuccess()) {
MetadataBuffer mdb = null;
try {
mdb = rslt.getMetadataBuffer();
if (mdb == null) return null;
dIDs = new ArrayList<DriveId>();
for (Metadata md : mdb) {
if ((md == null) || md.isTrashed()) continue;
dIDs.add(md.getDriveId());
}
} finally { if (mdb != null) mdb.close(); }
}
} catch (Exception e) {}
return dIDs;
}
3/您获得有效的 DriveId。尝试使用它来获取资源 ID,以便在 RESTful API 或其他地方使用。
String fileID = drvId.getResourceId();
您得到一个null 值。片刻之后(随机的,难以指定),如果您重复查询,您最终将获得您的资源 ID。我知道为什么,这可能是一个延迟问题。我只是征求 Google Support Team 的意见.有没有办法获得控制权?查询延迟状态?
最佳答案
发生这种情况是因为更改首先保存在本地,然后在(可能)晚些时候我们有足够的网络连接时上传到服务器。不幸的是,在新创建的文件提交到服务器之前,资源 ID 不可用。
目前您所能做的就是等待它可用。我们正在努力增加一些内容,使这个流程更容易,敬请期待。
关于android - Google Drive Android API (GDAA) getResourceId() 返回 null(计时问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22432431/
我正在尝试创建一个控件(一个在单击标题时展开和收缩的面板),并且我在网上找到了一些代码。在构造函数中,我有 TypedArray array = context.obtainStyledAttribu
我正在阅读关于 getResourceId() 的文档方法。它说: Retrieves the resource identifier for the attribute at index. Note
本文整理了Java中org.apache.flink.yarn.YarnContainerInLaunch.getResourceID()方法的一些代码示例,展示了YarnContainerInLau
在测试 SO 22295903 中讨论的删除、垃圾 功能时,我遇到了这个问题。 1/创建一个包含内容的文件 GoogleApiClient _gac; DriveFile createFileWait
问题是“DriveId.getResourceId()”中的“resourceID”在新创建的文件(“DriveFolder.createFile(GAC, meta, cont)”的产物)上不可用(
我是一名优秀的程序员,十分优秀!