2016-03-24 8 views
0

私はstackoverflowとapi docsのチェックを試みましたが、この特定の質問に関する情報は見つかりませんでした。iOS dropbox sdk/core api - 許可なくパブリックフォルダの内容を表示する

私がしようとしているのは、特定のドロップボックスアカウントのパブリックフォルダの内容(APIの/メタデータ機能など)を取得することです。 「/ metadata/link」は、ユーザーの承認なしで特定のリンクのメタデータを取得できることを知っていますが、通常のメタデータとファイルリストを取得する方法を見つけることができませんでした...

実際には、パブリックフォルダにする必要があります(私は最近、Dropboxがアプリケーションのパブリックフォルダに頼っていることを開発者に嫌うと言っています)。共有リンクや種類のものを使って通常のフォルダにすることもできます...

私はapi v1を使用していますが(v1ではこれが不可能な場合はv2への変更を検討することもできます)、これがすべて可能かどうかはわかりませんが。

ありがとうございました!誰もが同様にこれを必要とする場合、将来の参考のために

+0

"私は '/ metadata/link'を使用すると、特定のリンクのメタデータをユーザーの承認なしで取得できますが、通常のメタデータとファイルリストを取得する方法を見つけることができませんでした..."それは '/ metadata/link'によって提供されていませんか? – smarx

+0

@smarx実際に私は/メタデータ/リンクをテストすることができませんでした。私はそれにアクセスするためのサンプルコードをどこでも見つけることができませんでした...私は[[self restClient] loadMetadata:path];フォルダメタデータにアクセスするためのものですが、ルート相対フォルダに対してのみ機能します – ladansedesdamnes

+0

v1のiOS Core SDKでは '/ metadata/link'が実装されていないと思いますので、サポートを自分で追加する必要があります。しかし、私はそれがあなたが望むことをすると思います。 – smarx

答えて

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ドキュメントを参照してください、そしてそれはそれだし。

簡略化のため、ここでは同期要求を使用しましたが、非同期接続代理人でも簡単に行うことができます。

関連する問題