Does the DropBox app on iOS have a URL scheme?

谁说胖子不能爱 提交于 2019-11-29 07:22:55

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.

Dropbox's URL scheme is

dbapi-1://

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]];
}

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.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!