有没有办法设置元数据描述?
https://developer.android.com/reference/com/google/android/gms/drive/Metadata.html#getDescription()
如果是这样,长度限制是多少?
我在 api 中看不到任何内容:https ://developer.android.com/reference/com/google/android/gms/drive/MetadataChangeSet.Builder.html
不幸的是,目前还没有,AFAIK。我现在要做的是初始化 GDAA 和 RESTful API(参见“垃圾解决方案” SO 22295903),如下所示:
private GoogleApiClient _gac;
private com.google.api.services.drive.Drive _svc;
public GoogleApiClient init(String email){
_gac = new GoogleApiClient.Builder(UT.ACTX).addApi(com.google.android.gms.drive.Drive.API)
.addScope(com.google.android.gms.drive.Drive.SCOPE_FILE).setAccountName(email).build();
com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential crd =
GoogleAccountCredential.usingOAuth2(UT.ACTX,
Arrays.asList(com.google.api.services.drive.DriveScopes.DRIVE_FILE));
crd.setSelectedAccountName(email);
_svc = new com.google.api.services.drive.Drive.Builder(
AndroidHttp.newCompatibleTransport(), new GsonFactory(), crd).build();
return this;
}
您从 DGAA(上面的 GoogleApiClient _gac)获得描述,但像这样(关闭 UI 线程)将其更新/写入 RESTFul:
public void oldDescUpW(String titl, String mime, String desc) {
try {
final FileList gLst = _svc.files().list()
.setQ("title = '"+titl+".jpg' and mimeType = '"+mime+"' and trashed = false")
.setFields("items(id)").execute();
if (gLst.getItems().size() == 1) {
final String sId = gLst.getItems().get(0).getId();
com.google.api.services.drive.model.File body =
new com.google.api.services.drive.model.File();
body.setDescription(desc);
_svc.files().patch(sId, body).execute();
}
} catch (Exception e) {}
}
也可以使用 GDAA 中的“资源 ID”来处理 RESTful 中的文件,但它并不总是立即可用(如果文件是在 GDAA 中创建的)。见SO 22874657
免责声明:
这是一个 HACK,不应该在 GDAA 交付替代方案之后继续存在。