2

我正在开发 Mac 应用程序并希望将文件存储在 Google 驱动器中。这些文件应该对用户隐藏。所以我的选择是保存在“appdata”文件夹中。使用Drive 示例代码 上传文件。要将文件插入“appdata”文件夹,请使用此示例代码。但是当我插入文件时,用户可以看到它。它不是隐藏的。

  1. 所以请让我知道将文件上传到“appdata”私人文件夹所需的驱动器示例代码的更改。?
  2. 我需要第一次创建“appdata”文件夹吗?
4

1 回答 1

1

对Drive Sample进行以下更改后,成功将文件上传到应用数据文件夹:

  1. 修改 API 范围以选择“ https://www.googleapis.com/auth/drive.appdata ”:

GTMOAuth2WindowController *windowController = [GTMOAuth2WindowController controllerWithScope:@"https://www.googleapis.com/auth/drive.appdata" clientID:clientID clientSecret:clientSecret keychainItemName:kKeychainItemName resourceBundle:frameworkBundle];

2.获取父文件引用。这里的“appdata”文件夹是父文件夹:

GTLQuery *query = [GTLQueryDrive queryForFilesGetWithFileId:@"appdata"];
        [service executeQuery:query
            completionHandler:^(GTLServiceTicket *ticket, GTLDriveFile *parentfile,
                                NSError *error) {
                /*Save parentfile for future reference*/}];

3.上传设置文件父到应用程序数据文件夹时。使用上一步中获得的父文件引用

GTLDriveParentReference *parentRef = [GTLDriveParentReference object];
        parentRef.identifier = parentfile.identifier;
        fileToUpload.labels.hidden = @YES;
        fileToUpload.parents = [NSArray arrayWithObjects: parentRef, nil];
于 2013-06-21T08:10:14.727 回答