如何在Google云端硬盘的隐藏应用文件夹中创建Google Fusion桌面

时间:2015-05-18 20:36:34

标签: google-drive-api dart google-fusion-tables

我尝试使用Google的Fusion Table服务作为我正在构建的应用的后端数据库。它几乎完美无缺,但我需要创建表格文件或将其移动到Google云端硬盘的隐藏应用文件夹中。如果用户手动编辑或删除文件,很多事情都可能出错。

似乎Fusion Table api不支持选择父文件夹...它每次都会在根目录中创建表格文件。

我尝试过以下方法(Dart中的代码)......

1)使用Drive api更新表格文件的父参考

File folder = await getAppFolder();
var folderRef = new ParentReference()
  ..id = folder.id;
file.parents.add(folderRef);
await drive.files.update(file, file.id);
  

(状态:403,消息:appdata内容不支持该方法)

请注意,这适用于普通文件夹,但不适用于app文件夹。

2)使用Drive api

创建新的表格文件
File appFolder = await getAppFolder();
var parent = new ParentReference()
  ..id = appFolder.id;
var file = new File()
  ..title = 'MyDatabase'
  ..mimeType = 'application/vnd.google-apps.fusiontable'
  ..parents = [parent];
await drive.files.insert(file);
  

(状态:400,消息:错误请求)

无论我改变什么设置,这似乎都不起作用。

3)使用Drive api

将表格文件复制到app文件夹中
File origFile = await getFile(title);
File folder = await getAppFolder();
var folderRef = new ParentReference()
  ..id = folder.id;
var newFile = new File()
  ..title = title
  ..parents = [folderRef];
newFile = await drive.files.copy(newFile, origFile.id);
await drive.files.insert(newFile);
  

(状态:403,消息:在appdata文件夹中只允许存储在云端硬盘中的文件夹或文件)

0 个答案:

没有答案