Does the DropBox app on iOS have a URL scheme?

前端 未结 4 792
误落风尘
误落风尘 2020-12-18 07:19

I would like to be able to launch the DropBox app within my app. Therefore I would like to know if the DropBox app has a URL scheme that I can use to call openURL, something

相关标签:
4条回答
  • 2020-12-18 07:54

    Dropbox's URL scheme is

    dbapi-1://
    
    0 讨论(0)
  • 2020-12-18 07:55

    If you need to open a specific file in the iOS Dropbox app, you can use this trick:

    1. Encode your URL.
    2. Append encoded URL to the dbapi-6://1/viewLink?url= prefix.

    Attention: this is not documented and may change in future releases.

    The whole code should look like this:

    // `yourURLString` is the URL string you want to open 
    
    if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"dbapi-6://"]) 
    {    
        NSString *encodedFileURLString =
            [yourURLString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    
        NSString *fullURLString = 
            [@"dbapi-6://1/viewLink?url=" stringByAppendingString:encodedFileURLString];
    
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:fullURLString]];
    }
    else
    {
        // Otherwise open Safari
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:yourURLString]];
    }
    
    0 讨论(0)
  • 2020-12-18 07:58

    Dropbox does not have a URL scheme. However, you can interact with Dropbox via UIDocumentInteractionController. You can read about that here. I've seen a few apps that allow you to open files in Dropbox, and I assume this is how that's done.

    0 讨论(0)
  • 2020-12-18 08:05

    The only thing you can do with the Dropbox url-scheme is connect your Dropbox App to it. Like this:

    var key = "[YOUR API KEY]";
    var secret = "[YOUR API SECRET]";
    var apiversion = "1";
    
    window.open("dbapi-1://"+apiversion+"/connect?k="+key+"&s="+secret);
    

    Normally the dropbox-app responses by opening your iOS app with the following scheme:

    db-[YOU API KEY]://connect?oauth_token=SOMETOKEN&oauth_token_secret=SOMEOATHTOKEN&uid=SOMETHING
    

    or with:

    db-[YOU API KEY]://cancel
    

    Got this from looking at the Dropbox SDK for iOS.

    0 讨论(0)
提交回复
热议问题