{"id":337,"date":"2013-09-03T11:53:58","date_gmt":"2013-09-03T06:23:58","guid":{"rendered":"https:\/\/www.innovationm.com\/blog\/?p=337"},"modified":"2023-01-20T18:56:08","modified_gmt":"2023-01-20T13:26:08","slug":"dropbox-integration-in-ios","status":"publish","type":"post","link":"https:\/\/www.innovationm.com\/blog\/dropbox-integration-in-ios\/","title":{"rendered":"Dropbox Integration in iOS"},"content":{"rendered":"<p style=\"text-align: justify;\">In this tutorial we will learn &#8211; how to integrate Dropbox with iOS applications. Let us take an example of iOS application. We will be talking about the following:<\/p>\n<p style=\"text-align: justify;\">1. Uploading the files from iOS App to Dropbox<br \/>\n2. Downloading files from Dropbox<br \/>\n3. Browsing the Folder \/ Files structure of Dropbox.<\/p>\n<p style=\"text-align: justify;\">There are mainly two types of APIs for Dropbox integration.<\/p>\n<ul style=\"text-align: justify;\">\n<li>Core API &#8211; For Uploading, downloading and browsing the file system<\/li>\n<li>Sync API &#8211; When there are some changes done in the files \/ folder then it will help in syncing-up to other devices.<\/li>\n<\/ul>\n<h1 style=\"text-align: center;\"><strong>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <span style=\"color: #0000ff;\">Core API<\/span><\/strong><\/h1>\n<h2 style=\"text-align: justify;\"><span style=\"color: #3366ff;\">Registering the application on Dropbox and linking in the App<\/span><\/h2>\n<p style=\"text-align: justify;\"><strong>1. Register Application with DropBox &#8211;\u00a0<\/strong>To register your application with Dropbox , you need to go on\u00a0<a href=\"https:\/\/www.dropbox.com\/developers\/apps\">Dropbox App Console<\/a>\u00a0and follow these steps.<\/p>\n<ul style=\"text-align: justify;\">\n<li>Select &#8220;Create App&#8221; on App Console.<\/li>\n<li>Select type of app and type of data which we want to save on dropbox .<\/li>\n<li>Give a unique name to your Application.<\/li>\n<li>Now your app created. It will give you &#8220;App key&#8221; and &#8220;AppSecret key&#8221;.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><strong>2. Linking iOS App with Dropbox &#8211;\u00a0<\/strong>Download Dropbox SDK and add it your iOS Application. In info.plist URI scheme there is need of adding an item &#8220;db-APP_KEY&#8221;. In place of &#8220;APP KEY&#8221; we will put the App key which we get in first step. First you have to create the DBSession object for your app:<\/p>\n<pre><code>#import &lt;DropboxSDK\/DropboxSDK.h&gt;\u00a0\r\n\r\nDBSession* dbSession =\r\n[[[DBSession alloc]\r\ninitWithAppKey:@\"APP_KEY\" \/\/ add here app key\r\nappSecret:@\"APP_SECRET\"  \/\/ add here app secret key\r\nroot:ACCESS_TYPE] \/\/ either kDBRootAppFolder or kDBRootDropbox\r\nautorelease];\r\n[DBSession setSharedSession:dbSession];<\/code><\/pre>\n<p style=\"text-align: justify;\">Somewhere in your app add an event to launch the authentication process:<\/p>\n<pre><code>- (void)didPressLink {\r\nif(![[DBSession sharedSession] isLinked]) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0[[DBSession sharedSession] link];\r\n   }\r\n}<\/code><\/pre>\n<p style=\"text-align: justify;\">Now, We need to add the following code to our application delegate in order to complete the authentication process.<\/p>\n<pre><code>- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL*)url {\r\n             if([[DBSession sharedSession] handleOpenURL:url]) {\r\n             if([[DBSession sharedSession] isLinked]) {\r\n             NSLog(@\"App linked successfully!\");\r\n                      \/\/ At this point you can start making API calls\r\n              }\r\n       return YES;\r\n     }\r\n\/\/ Add whatever other url handling code your app requires here\r\nreturn NO;\r\n}<\/code><\/pre>\n<h2><span style=\"color: #3366ff;\">Browse Folder and Files of Dropbox<\/span><\/h2>\n<p style=\"text-align: justify;\">All methods on\u00a0<em>DBRestClient<\/em>\u00a0are asynchronous, meaning they don\u2019t immediately return the data they are meant to load. Each method has at least two corresponding\u00a0<em>DBRestClientDelegate<\/em>\u00a0methods, that get called when a request either succeeds or fails. We can list contents of folder by making the following call<\/p>\n<pre>[[self restClient] loadMetadata:@\"\/\"];<\/pre>\n<p style=\"text-align: justify;\">The REST client will then call your delegate with one of the following callbacks:<\/p>\n<pre><code>- (void)restClient:(DBRestClient *)client loadedMetadata:(DBMetadata *)metadata {\r\n       if(metadata.isDirectory) {\r\n                  NSLog(@\"Folder '%@' contains:\", metadata.path);\r\n                  for(DBMetadata *file in metadata.contents) {\r\n                  NSLog(@\"t%@\", file.filename);\r\n                 }\r\n              }\r\n  }\r\n- (void)restClient:(DBRestClient *)client\r\n            loadMetadataFailedWithError:(NSError*)error {\r\n\u00a0\u00a0           \u00a0NSLog(@\"Error loading metadata: %@\", error);\r\n  }<\/code><\/pre>\n<h2 style=\"text-align: justify;\"><span style=\"color: #3366ff;\">Downloading file from Dropbox<\/span><\/h2>\n<p style=\"text-align: justify;\">Now that we know what files are available it\u2019s time to download one.<\/p>\n<pre><code>[[self restClient] loadFile:dropboxPath intoPath:localPath]<\/code><\/pre>\n<p style=\"text-align: justify;\">To find out if the file download succeeds or fails you need to implement the following\u00a0<em>DBRestClientDelegate<\/em>methods:<\/p>\n<pre><code>- (void)restClient:(DBRestClient*)client loadedFile:(NSString*)localPath {\r\n\u00a0\u00a0\u00a0 NSLog(@\"File loaded into path: %@\", localPath);\r\n }\r\n\r\n- (void)restClient:(DBRestClient*)client loadFileFailedWithError:(NSError*)error {\r\n           NSLog(@\"There was an error loading the file - %@\", error);\r\n }<\/code><\/pre>\n<h2 style=\"text-align: justify;\"><span style=\"color: #3366ff;\"><strong>Uploading file to Dropbox<\/strong><\/span><\/h2>\n<p style=\"text-align: justify;\">After Downloading we can do with it whatever we want. Now next chalenge is how we can upload a new file on dropbox to share it with other devices &amp; people.\u00a0Uploading is as simple as downloading:<\/p>\n<pre><code>NSString *localPath = [[NSBundle mainBundle] pathForResource:@\"Info\" ofType:@\"plist\"];\r\nNSString *filename = @\"Info.plist\";\r\nNSString *destDir = @\"\/\";\r\n[[self restClient] uploadFile:filename toPath:destDir\r\n                   withParentRev:nil fromPath:localPath];<\/code><\/pre>\n<p style=\"text-align: justify;\">To see all the operations that are available and the corresponding callback methods look at the\u00a0<em>DBRestClient.h<\/em>\u00a0file in the SDK.\u00a0Here are the delegate methods that you should implement to get the results of the upload call:<\/p>\n<pre><code> -(void)restClient:(DBRestClient*)client uploadedFile:(NSString*)destPath\r\n    from:(NSString*)srcPath metadata:(DBMetadata*)metadata {\r\n\r\n    NSLog(@\"File uploaded successfully to path: %@\", metadata.path);\r\n}\r\n\r\n- (void)restClient:(DBRestClient*)client uploadFileFailedWithError:(NSError*)error {\r\n    NSLog(@\"File upload failed with error - %@\", error);\r\n   } <\/code><\/pre>\n<h1 style=\"text-align: center;\"><strong>\u00a0 \u00a0<span style=\"color: #0000ff;\">Sync API<\/span><\/strong><\/h1>\n<p style=\"text-align: justify;\">The Sync API takes care of syncing all your data with Dropbox through a familiar, file system-like interface. It&#8217;s like giving your app its own, private Dropbox client. Here we can proceed with the same steps of linking account as in case of core API. Once app is linked we can create a file system object.<\/p>\n<p style=\"text-align: justify;\">Syncing of account mainly needs when any change in Dropbox data need to update in all linking devices &amp; people. So we have to implement the &#8220;Change Observer&#8221; in the program.<\/p>\n<p style=\"text-align: justify;\"><strong>Observing Changes &#8211;\u00a0<\/strong>A\u00a0DBFile object is created and is associated with a specific version of that file. You can check whether it is cached\u00a0and can be read immediately by using the\u00a0status\u00a0property. If it is not cached, the<em>\u00a0-readString:<\/em>\u00a0call will wait while it downloads. If you don&#8217;t want to wait, you can use an\u00a0observer\u00a0to track its download progress.<\/p>\n<pre><code>DBFileStatus *status = file.status;\r\nif (!status.cached) {\r\n    [self.file addObserver:self block:^() {\r\n        \/\/ Check file.status and read if it's ready\r\n    }];\r\n    \/\/ Check if the status.cached is now YES to ensure nothing\r\n    \/\/ was missed while adding the observer\r\n} <\/code><\/pre>\n<p style=\"text-align: justify;\">You can also check if the version you have is the most recent version of the file with its\u00a0newerStatus\u00a0property. If the file is the latest version, this will be\u00a0nil. If not, it will return the sync status for the newest version of the file. When a file is open, the Sync API will automatically download newer versions of the file as they are available and\u00a0newerStatus\u00a0will include the download progress. Once a newer version is downloaded,\u00a0newerStatus.cached\u00a0will be set. Then you can call\u00a0<em>-[DBFile update:]<\/em>\u00a0to update the open file to the newest version.<\/p>\n<p style=\"text-align: justify;\">In addition to a single file, you can also listen to changes to all files in a folder by using the<em>\u00a0[DBFilesystem addObserver:forPathAndChildren:]<\/em>\u00a0method.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this tutorial we will learn &#8211; how to integrate Dropbox with iOS applications. Let us take an example of iOS application. We will be talking about the following: 1. Uploading the files from iOS App to Dropbox 2. Downloading files from Dropbox 3. Browsing the Folder \/ Files structure of Dropbox. There are mainly [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":486,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[55,54,14,160,164,70],"class_list":["post-337","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ios","tag-core-api","tag-dropbox","tag-innovationm","tag-ios","tag-social-media-integration","tag-sync-api"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Dropbox Integration in iOS | InnovationM Blog<\/title>\n<meta name=\"description\" content=\"Learn how to integrate Dropbox with iOS applications.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.innovationm.com\/blog\/dropbox-integration-in-ios\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dropbox Integration in iOS | InnovationM Blog\" \/>\n<meta property=\"og:description\" content=\"Learn how to integrate Dropbox with iOS applications.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.innovationm.com\/blog\/dropbox-integration-in-ios\/\" \/>\n<meta property=\"og:site_name\" content=\"InnovationM - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2013-09-03T06:23:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-01-20T13:26:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2013\/09\/InnovationM-Dropbox-Integration-In-iOS.png\" \/>\n\t<meta property=\"og:image:width\" content=\"642\" \/>\n\t<meta property=\"og:image:height\" content=\"364\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"InnovationM Admin\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"InnovationM Admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/dropbox-integration-in-ios\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/dropbox-integration-in-ios\\\/\"},\"author\":{\"name\":\"InnovationM Admin\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\"},\"headline\":\"Dropbox Integration in iOS\",\"datePublished\":\"2013-09-03T06:23:58+00:00\",\"dateModified\":\"2023-01-20T13:26:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/dropbox-integration-in-ios\\\/\"},\"wordCount\":724,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/dropbox-integration-in-ios\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2013\\\/09\\\/InnovationM-Dropbox-Integration-In-iOS.png\",\"keywords\":[\"Core API\",\"Dropbox\",\"InnovationM\",\"iOS\",\"Social Media Integration\",\"Sync API\"],\"articleSection\":[\"iOS\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/dropbox-integration-in-ios\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/dropbox-integration-in-ios\\\/\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/dropbox-integration-in-ios\\\/\",\"name\":\"Dropbox Integration in iOS | InnovationM Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/dropbox-integration-in-ios\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/dropbox-integration-in-ios\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2013\\\/09\\\/InnovationM-Dropbox-Integration-In-iOS.png\",\"datePublished\":\"2013-09-03T06:23:58+00:00\",\"dateModified\":\"2023-01-20T13:26:08+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\"},\"description\":\"Learn how to integrate Dropbox with iOS applications.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/dropbox-integration-in-ios\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/dropbox-integration-in-ios\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/dropbox-integration-in-ios\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2013\\\/09\\\/InnovationM-Dropbox-Integration-In-iOS.png\",\"contentUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2013\\\/09\\\/InnovationM-Dropbox-Integration-In-iOS.png\",\"width\":642,\"height\":364,\"caption\":\"InnovationM Dropbox Integration In iOS\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/dropbox-integration-in-ios\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dropbox Integration in iOS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/\",\"name\":\"AI, Software Development & Digital Engineering Insights Blog | InnovationM\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\",\"name\":\"InnovationM Admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"caption\":\"InnovationM Admin\"},\"sameAs\":[\"https:\\\/\\\/www.innovationm.com\\\/\"],\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/author\\\/innovationmadmin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Dropbox Integration in iOS | InnovationM Blog","description":"Learn how to integrate Dropbox with iOS applications.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.innovationm.com\/blog\/dropbox-integration-in-ios\/","og_locale":"en_US","og_type":"article","og_title":"Dropbox Integration in iOS | InnovationM Blog","og_description":"Learn how to integrate Dropbox with iOS applications.","og_url":"https:\/\/www.innovationm.com\/blog\/dropbox-integration-in-ios\/","og_site_name":"InnovationM - Blog","article_published_time":"2013-09-03T06:23:58+00:00","article_modified_time":"2023-01-20T13:26:08+00:00","og_image":[{"width":642,"height":364,"url":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2013\/09\/InnovationM-Dropbox-Integration-In-iOS.png","type":"image\/png"}],"author":"InnovationM Admin","twitter_misc":{"Written by":"InnovationM Admin","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.innovationm.com\/blog\/dropbox-integration-in-ios\/#article","isPartOf":{"@id":"https:\/\/www.innovationm.com\/blog\/dropbox-integration-in-ios\/"},"author":{"name":"InnovationM Admin","@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed"},"headline":"Dropbox Integration in iOS","datePublished":"2013-09-03T06:23:58+00:00","dateModified":"2023-01-20T13:26:08+00:00","mainEntityOfPage":{"@id":"https:\/\/www.innovationm.com\/blog\/dropbox-integration-in-ios\/"},"wordCount":724,"commentCount":0,"image":{"@id":"https:\/\/www.innovationm.com\/blog\/dropbox-integration-in-ios\/#primaryimage"},"thumbnailUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2013\/09\/InnovationM-Dropbox-Integration-In-iOS.png","keywords":["Core API","Dropbox","InnovationM","iOS","Social Media Integration","Sync API"],"articleSection":["iOS"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.innovationm.com\/blog\/dropbox-integration-in-ios\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.innovationm.com\/blog\/dropbox-integration-in-ios\/","url":"https:\/\/www.innovationm.com\/blog\/dropbox-integration-in-ios\/","name":"Dropbox Integration in iOS | InnovationM Blog","isPartOf":{"@id":"https:\/\/www.innovationm.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.innovationm.com\/blog\/dropbox-integration-in-ios\/#primaryimage"},"image":{"@id":"https:\/\/www.innovationm.com\/blog\/dropbox-integration-in-ios\/#primaryimage"},"thumbnailUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2013\/09\/InnovationM-Dropbox-Integration-In-iOS.png","datePublished":"2013-09-03T06:23:58+00:00","dateModified":"2023-01-20T13:26:08+00:00","author":{"@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed"},"description":"Learn how to integrate Dropbox with iOS applications.","breadcrumb":{"@id":"https:\/\/www.innovationm.com\/blog\/dropbox-integration-in-ios\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.innovationm.com\/blog\/dropbox-integration-in-ios\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.innovationm.com\/blog\/dropbox-integration-in-ios\/#primaryimage","url":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2013\/09\/InnovationM-Dropbox-Integration-In-iOS.png","contentUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2013\/09\/InnovationM-Dropbox-Integration-In-iOS.png","width":642,"height":364,"caption":"InnovationM Dropbox Integration In iOS"},{"@type":"BreadcrumbList","@id":"https:\/\/www.innovationm.com\/blog\/dropbox-integration-in-ios\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.innovationm.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Dropbox Integration in iOS"}]},{"@type":"WebSite","@id":"https:\/\/www.innovationm.com\/blog\/#website","url":"https:\/\/www.innovationm.com\/blog\/","name":"AI, Software Development & Digital Engineering Insights Blog | InnovationM","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.innovationm.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed","name":"InnovationM Admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","caption":"InnovationM Admin"},"sameAs":["https:\/\/www.innovationm.com\/"],"url":"https:\/\/www.innovationm.com\/blog\/author\/innovationmadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts\/337","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/comments?post=337"}],"version-history":[{"count":0,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts\/337\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/media\/486"}],"wp:attachment":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/media?parent=337"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/categories?post=337"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/tags?post=337"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}