iOS dropbox sdk / core api - 未经授权列出公用文件夹内容

时间:2016-03-24 12:24:36

标签: ios objective-c dropbox-api

我已尝试检查stackoverflow和api文档,但无法找到与此特定问题相关的任何信息。

我尝试做的是获取特定保管箱帐户的公共文件夹内容(如api的/ metadata功能),而无需授权/链接到dropbox。 我知道" / metadata / link"允许您在未经用户授权的情况下获取特定链接的元数据,但我无法找到获取常规元数据和文件列表的方法...

实际上它甚至不需要是一个公共文件夹(因为我最近读过dropbox不鼓励开发人员依赖公共文件夹来处理应用程序),它也可以通过它成为常规文件夹共享链接或任何类似的东西......

我正在使用api v1(但如果v1不可能,可以考虑更改为v2),尽管我甚至不确定这是否可能。

谢谢!

1 个答案:

答案 0 :(得分:0)

为了将来参考,如果有人也需要这个,我就是这样做的:

NSString *parameters = [NSString stringWithFormat:@"?link=%@&client_id=%@&client_secret=%@",fileUrl, appKey, appSecret];
NSString *sharedPath = [NSString stringWithFormat:@"%@/%@",@"https://api.dropbox.com/1/metadata/link", parameters];
NSURL *url = [NSURL URLWithString:sharedPath];

NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url
                                                          cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData
                                                      timeoutInterval:10];
theRequest.timeoutInterval = 5.0;
theRequest.HTTPMethod = @"POST";

NSData * resData = [NSURLConnection sendSynchronousRequest:theRequest returningResponse:nil error:nil];

使用NSJSONSerialization来解析resData并参考json字段的api文档,就是这样。

为了简单起见,我在这里使用了同步请求,但它可以像使用异步连接代理一样轻松完成。