4

我正在使用伟大的源代码GSDropboxDemoApp,它很好地将 Dropbox 集成到应用程序中。但是,将应用程序链接到 Dropbox 后,加载文件夹内容时出错。下面是代码

我已经编辑了info.plist

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
#warning Potentially incomplete method implementation. Fill in your Dropbox credentials!
#warning NB: you must also update the URL scheme listed under the CFBundleURLTypes key in GSDropboxDemoApp-Info.plist
    NSString *dropboxAppKey = @"sxxxxxxxxxx";
    NSString *dropboxAppSecret = @"cxxxxxxxxx";
    NSString *dropboxRoot = @"kDBRootAppFolder";  // either kDBRootAppFolder or kDBRootDropbox

    DBSession* dbSession = [[DBSession alloc] initWithAppKey:dropboxAppKey
                                                   appSecret:dropboxAppSecret
                                                        root:dropboxRoot];
    [DBSession setSharedSession:dbSession];

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.viewController = [[GSViewController alloc] initWithNibName:@"GSViewController" bundle:nil];
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    return YES;
}

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    if ([[DBSession sharedSession] handleOpenURL:url]) {
        if ([[DBSession sharedSession] isLinked]) {
            NSLog(@"App linked to Dropbox successfully");
        } else {
            NSLog(@"App not linked to Dropbox!");
        }
        return YES;
    }
    return NO;
}

错误信息

 GSDropboxDemoApp[4674:907] [WARNING] DropboxSDK: error making request to /1/metadata/kDBRootAppFolder - (400) Expected a root of either 'dropbox' or 'sandbox', got 'kDBRootAppFolder'
4

2 回答 2

8

您应该使用一个常量,如下所示:

NSString *dropboxRoot = kDBRootAppFolder;  // either kDBRootAppFolder or kDBRootDropbox

使用常量是为了让您不必担心实际值本身。

于 2013-03-04T18:18:21.700 回答
1

对于我们这些人(将来偶然发现这个问题)使用 ruby​​ 运动遇到同样的错误,它需要是:

dropboxRoot = KDBRootAppFolder # Capital K
于 2013-10-02T20:21:14.887 回答