alllllllll 2013-03-05 02:18 采纳率: 0%
浏览 1299

iphone应用集成DropBox错误

使用名为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'
  • 写回答

1条回答 默认 最新

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2022-12-19 15:01
    关注

    ChatGPT尝试为您解答,仅供参考
    看起来你在使用Dropbox SDK并尝试访问元数据时遇到了问题。


    从报错信息来看,错误原因是期望的根目录不是'dropbox'或'sandbox',而是'kDBRootAppFolder'。这可能是因为你在调用DBSession初始化方法时传入了一个无效的根目录。


    你可以在DBSession初始化方法的root参数中传入一个字符串,表示Dropbox应用的根目录。有效的值是'kDBRootAppFolder'(应用文件夹)或'kDBRootDropbox'(Dropbox根文件夹)。


    请确保你在传入的root字符串中使用了正确的值。例如:

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

    或者

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

    这样应该可以解决问题。


    另外,你还应该注意,在代码中提到了一个警告:

    #warning Potentially incomplete method implementation. Fill in your Dropbox credentials!
    

    这表示你应该在使用Dropbox SDK之前先填入你的Dropbox凭证(也就是应用密钥和密钥密码)。要获取这些凭证,你需要先在Dropbox开发人员控制台中注册你的应用,然后在你的代码中使用你的应用密钥和密钥密码。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog