1

我是 IOS Dropbox 开发的新手,我还在学习如何在我的应用程序中实现 Dropbox,该应用程序是一个文本编辑器,我想让它支持在 Dropbox 中上传和下载文件。在我的应用程序中,我只能对文本进行一些更改,然后将其上传到 Dropbox,但我无法将其恢复到最新版本。我已阅读 Dropbox Rest API 并阅读了https://api.dropbox.com/1/restore/<root>/<path>

但我不知道该怎么办,有人可以帮助我吗?

谢谢

4

1 回答 1

1

试试这个

/* 恢复路径中的文件,因为它存在于给定 rev 中,并在恢复后返回恢复文件的元数据 */

- (void)restoreFile:(NSString *)path toRev:(NSString *)rev;

其中 path 是必须恢复的 DropBox 文件的路径,rev 是必须恢复到的版本

它的委托方法是

- (void)restClient:(DBRestClient*)client restoredFile:(DBMetadata *)fileMetadata;
- (void)restClient:(DBRestClient*)client restoreFileFailedWithError:(NSError *)error;

您可以使用这些来获取特定文件的修订列表

/* 加载一个包含最多 10 个 DBMetadata 对象的列表,这些对象代表路径中文件的过去修订 */

- (void)loadRevisionsForFile:(NSString *)path;

/* 与上面相同,但对返回的 DBMetadata 对象的数量有可配置的限制,最多 1000 */

- (void)loadRevisionsForFile:(NSString *)path limit:(NSInteger)limit;

他们的委托方法是

- (void)restClient:(DBRestClient*)client loadedRevisions:(NSArray *)revisions forFile:(NSString *)path;
- (void)restClient:(DBRestClient*)client loadRevisionsFailedWithError:(NSError *)error;

例子

    NSString *filePath = @"/Contacts";
    NSString *revisionStr = @"a1067dc176";   // sample revisionString

    [[self restClient] loadRevisionsForFile:filePath limit:10];

    [[self restClient] restoreFile:filePath toRev:revisionStr];

// 委托方法

- (void)restClient:(DBRestClient*)client loadedRevisions:(NSArray *)revisions forFile:(NSString *)path{

    for (DBMetadata *file in revisions) 
    {
        NSLog(@"MetaData's Revisions \t%@", file.rev);
    }
}
- (void)restClient:(DBRestClient*)client loadRevisionsFailedWithError:(NSError *)error{

}

- (void)restClient:(DBRestClient*)client restoredFile:(DBMetadata *)fileMetadata{
    NSLog(@"Restored FileMetaData Path : %@",fileMetadata.path);
        NSLog(@"Restored FileMetaData rev : %@",fileMetadata.rev);
}
- (void)restClient:(DBRestClient*)client restoreFileFailedWithError:(NSError *)error{
     NSLog(@"There was an error restoring the file - %@", error);
}
于 2012-04-04T08:26:37.323 回答