html5,google-drive-sdk,dropbox-api , Directory sandboxed access for Google Drive / Dropbox API / RemoteStorage apps?


Directory sandboxed access for Google Drive / Dropbox API / RemoteStorage apps?

Question:

Tag: html5,google-drive-sdk,dropbox-api

Is there a way to get sandboxed, user-selected directory access on any major file service without first getting read level access to their entire filesystem?

There's a lot of talk about "unhosted" static webapps that allow users to access their data from a 3rd party file service (Google Drive, Dropbox, their own server, etc.). The most notable effort I've found so far is remoteStorage.io, but there doesn't seem to be a way with any major provider to let the user select a directory and then use that as a sandbox without breaking their trust (i.e. getting read access to all their files first).

From the user's perspective, the webapp shouldn't have access to anything else on the remote file storage except the one folder the user grants it access to (for example, I might grant a text editor access to my FunnyJokes folder).

The current work around seems to be having the webapp force a specific folder name ahead of time ("this app wants access to /appname_notes"), but that rules out letting the user point it to where they may already have their notes.

Does anyone know of a nice way to do this with Google Drive, Dropbox, or the like?

The user experience that makes the most sense to me is something like...

  1. User opens an unhosted webapp (for example, a basic text editor TextyApp). They click a button to connect with their data.
  2. 3rd party auth page appears (for example, Google Drive) and it says "The app TextyApp has requested read/write access to your files. Please select a directory to use."
  3. Confirmation screen: "Grant read/write access to folder FunnyJokes for TextyApp?"
  4. The page redirects back to the webapp with sandboxed accessed to the user-specified folder and the files within it.

This seems like how remote file storage should work, but I haven't found a way to do it yet. Any thoughts/suggestions would be great!

Cheers, Adam

Edit: To clarify, I'm not talking about storing hidden "application data", but instead letting the user specify a particular directory to sandbox for use with a webapp that they may not want to give broader access to.


Answer:

The Dropbox Apps API provides the ability to restrict any app using your API key to a single directory of your Dropbox account. So users could create an API key with access to a specific directory and then plug that into your app. However, that's not a user-friendly workflow.

I think the Dropbox Drop-Ins Chooser/Saver API might be close to what you want. The user is presented with a Dropbox file selection popup, and your app only gets access to the specific file(s) that the user selects.


Related:


How can I cache my website in the user's browser?


javascript,html5,caching
I've found many explanations about caching, some of them even have examples but, it is kind of foggy to understand it and how to use it. I've tried to use it many times, but I've failed (I want to improve speed, I want only the necessary to be loaded from...

How can I make a DIV element Fixed but non-Scaleable?


html,css,html5
Hopefully I'm asking this question right. Basically, I'm trying to implement a drop down menu into my design. I've been looking around for help coding it, since I'm still relatively new to HTML/CSS and found a few great tutorials that I have altered a bit to match what I have...

jQuery & CSS only load after many refreshes


jquery,css,html5,internet-explorer,internet-explorer-11
If you open this page in IE11, the CSS and jQuery don't load: http://javasmart.gooberdev.com/ If you refresh the page once, maybe even twice, it still doesn't load. But if you hit F5 a bunch of times in succession, the CSS and jQuery finally load and the page displays correctly. This...

PHP mysql field 1 plus field 2 * 5 wrong result [closed]


php,html,mysql,database,html5
I have a table with 4 fields in MySQL. 1 is product price cost 2 is price we sell 3 is stock of products 4 is earning by unit. Example Cost of product for us 100, Selling price to customers is 120, Stock is 10 The follow code calculate the...

Prevent bootstrap 3 tab from stacking when window is resized (made smaller)


html5,css3,twitter-bootstrap-3
I have two tabs and I do not want them to stack when the window is resized. How do I do so? As shown below this is the code I've used to create my tabs. I don't understand why they would stack up when my window is resized. HTML Tab...

onended audio event firing without playing the audio


javascript,html5,audio,javascript-events
I have multiple audio files that i need to be played. and only when all audio has been played completely the next section is supposed to show. the code that i've written fires automatically without playing any audio. how should i do it? here's my code <!DOCTYPE html> <html> <body>...

Trying to get my home button image directly to the left of my logout button


html,css,html5
I can not get my home button image directly to the left of my logout button. I have changing the css all over. I also tried adding breaks and extra lines but that always gives an unexpected result. This is my HTML code. <!-- ============ HEADER SECTION ============== --> <td...

How to convert date into timeago


javascript,html5,time,timeago
I am trying to convert a date field in a "timeago" format using jquery.timeago.js $("time.timeago").timeago(); var userSpan = document.createElement("span"); userSpan.setAttribute("class", "text-muted"); userSpan.appendChild(document.createTextNode(message.usernameSender +" | ")); var timeTag = document.createElement("time"); timeTag.setAttribute("class", "timeago"); timeTag.setAttribute("datetime",document.createTextNode(message.date)); userSpan.appendChild(timeTag); This javascript will genearate the following code <span...

Swap nav and div vertically uing CSS only


html,css,html5,css3
So I have a <nav> in my <header> tag and just below it I have a <div> which shows the date. Now the problem is, my design is in such a way that I cannot put the <div> for the date inside my <header>. However since I'm working with a...

How secure are HTML5 forms?


html5
<input id="user_lic" type="number" min="5" max="30" step="5" value ="5"/> Would someone be able to disable this min="5" statement and then submit the input with a negative value. Or for example bypass the type=number statement and enter a symbol...

Teechart HTML5, line color and thickness


javascript,html5,teechart
How do you change the line color and thickness of a series in Teechart HTML5. I have been looking through the examples, but i can't find anything describing that....

Spring Mobile apps to be deployed in emulator


javascript,android,html5,spring,spring-mvc
I'm trying to develop an application based on Spring MVC for mobile device. Spring Mobile do provide such features to view our application in mobile browser. But how can I run/deploy the application in emulator since it's non-android based application? Also if can anybody tell me, how can I test...

customize the handler of input range


css,html5,css3
When we use input range <input type="range", there is a handler which is moveable as how we handle it. Now I need a help how to customize this handle, in this case I want to change the default handler with my own handler(image of button). Thanks for the help <input...

Common CSS in all HTML Files [on hold]


javascript,jquery,css,html5
Can I include all my css in my header.html and include that common header.html in all my files or i need to give reference to the same css in all my html files? I know i can include all my JS files in a common header.html because you can put...

How can you drop an image from your desktop into an editor and move it around?


javascript,html5,contenteditable
The default behavior when you drop something from your desktop to a textarea is that you will see the path to the image at the position where you dropped it. My end goal is to convert the local image as base64 and insert it at the drop position within the...

boostrap & Normalize.css: spacing problems


html5,twitter-bootstrap,css3
Boostrap normalize does not seem to remove top and left/right spacing from theme i am developing. Could somebody give hint where is the problem in my code. I have tried several reset css files also without any effects. Index <meta content="text/html;charset=utf-8" http-equiv="Content-Type"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- GOOGLE FONTS -->...

html query string with blackberry


javascript,html5,cordova
My hybrid mobile app needs to work on blackberry devices as well. I noticed that a simple html query string such as http://example.com/over/there?name=ferret Works also this way using the anchor tag (even if it is not standard) http://example.com/over/there#name=ferret using Android and iOS. I don't have a blackberry to try but...

Why WebGL slower than Canvas?


javascript,html5,canvas,webgl
I am just started to play around with canvas and webgl, read some article, etc.. and as per my knowledge, WebGL should be much more faster than canvas, but in these following tests it is remarkably slower: http://jsperf.com/canvas-drawimage-vs-webgl-drawarrays http://jsperf.com/three-js-canvas-vs-webgl/2 I run them in Chrome and Firefox, in both browser the...

change icon on collapse in Bootstrap 2.3 not in bootstrap 3


javascript,jquery,css,html5,twitter-bootstrap
I am using bootstrap 2.3 collapse in my project. I need to change icons on collapse means on show and hide I need to change icons. with bootstrap 3 some shown and hidden functions are showing in internet but I need with Bootstrap 2.3. Please let me know how to...

how to add a message (memo / sticky note) on (top of existing) html page


javascript,jquery,html,css,html5
How do I achieve this: I have an HTML5 homepage and want to give the visitors a message (e.g. "dear visitor, I am on vacation from....") in the form of a memo/sticky note e.g. in the top right corner of the home page. Is there a neat and nice solution...

Load javascript in consecutive order after browser load event


javascript,jquery,html,html5,browser
What am I trying to do? In an attempt to speed up my website I am loading non-essential javascript after the browser load event. (So the JS files are not render blocking) This is currently functioning correctly. What is the problem? The problem is sometimes the non-essential javascript depends on...

Regex not working in HTML5 pattern


regex,html5
So I have this regex intended to let pass all text but those that contain as initial chars the "34" sequence: ^(?!34)(?=([\w]+)) The regex is working fine for me in https://regex101.com/r/iN1yN3/2 , check the tests to see the intended behavior. Any Idea why it isn't working in my form? <form>...

Tagging values in HTML document for automated extraction


html,xml,html5
We have a series of documents that are being converted to HTML for web access. The documents are operating instructions that list actions people have to do as well as distinct requirements. We wanted to put a tag around each requirement so it can be automatically extracted using some code....

How to make my nav bar responsive


html5,css3,media-queries
I would like to use media query to make my navbar responsive. @media screen and (max-width: 600px) { .nav-wrap { position: relative; min-height: 40px; } .nav-wrap ul { position: absolute; } .nav-wrap li { display: none; /* hide all <li> items */ margin: 0; } .nav-wrap .current_page_item { display: block;...

CSS drop down navigation


css,html5,css3,drop-down-menu,navigation
I'm sure this is something simple I'm missing... My drop down menu is opening within the main navigation, widening it. Here is a link to the page I'm working on. The issue is with the navigation below the App buttons. http://membershq.incentiveusa.com/AwardPages/GoalUp_Test2/index_test3.html# Here is my HTML: <div class="container-fluid"> <div class="section-title2 text-center">...

Unwanted Space Between
and


html,css,html5,whitespace,semantic-markup
I have the following HTML5 code: <!doctype html> <html> <head> <meta charset="UTF-8"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <style> body { max-width: 960px; margin: 0 auto; font-size: 120%; } header, nav { margin: 0; padding: 0; border: 1px solid black; } header { border-color: red; } img.mainpicture { width: 100%; height: auto;...

validation of AngularJS direcrives


angularjs,html5,html-validation
I read on W3C School that to make a valid HTML page I have to add data before each angular directive in HTML file (e.g.: <p>The name is <span data-ng-bind="firstName"></span></p> or <div data-ng-app="" data-ng-init="firstName='John'"> Ok that's fine. I have two questions: Should this prefix be used only for ng- directives?...

Using Aria to make a div table accessible


html,html5,wai-aria
Context: I have a div table that a client wants to be screen reader accessible like a regular html table is using the table commands Problem: Cant get aria to work to announce the header with the row value to keep the integrity intact with the data. Solutions: Only using...

Saving image to localstorage - canvas


javascript,html5,html5-canvas
I'm using html5 storage to store my image. It works great in chrome. In FireFox it works 8/10 times. function getBase64Image(img) { var canvas = document.createElement("canvas"); canvas.width = img.width; canvas.height = img.height; var ctx = canvas.getContext("2d"); ctx.drawImage(img, 0, 0); console.log("line 1 : " + img.src); var dataURL = canvas.toDataURL('image/jpeg'); console.log("line...

javascript onblur onMouseOver calculate tax and autofill form input


javascript,php,html,html5,forms
After 2 days searching I give up. I have a form and need to add (autofill) taxes to the input total price but in a easy simple way: <form name="form" action="go.php"> <input name="cost" type="text"> <input name="costplustax" type="text" value=" here we autofill cost +19%> <input type="submit" value="ready to mysql"> I can...

How to change my table based on screen size?


javascript,html,css,html5
I want to change my table so it would look nice on a mobile platform. All I want to do is change my table so it is two columns. I am using this code to send an email. So I cannot link a stylesheet to my html. It is recommended...

HTML - How to properly mark a phrase


html5,semantics
The <blockquote> tag demand a cite external source, but what if the only source is the name of the phrase author? The <cite> tag defines the name of a work (e.g. a book, a song, a movie, a TV show, a painting, a sculpture, etc.), so it's no suitable to...

Google Drive API (GTL) - Create multiple folder paths in order?


ios,objective-c,swift,google-drive-sdk,google-api-objc-client
I'm using the Google APIs Client Library for Objective-C (GTL) to access the Google Drive API. According to it's Introduction to the Google APIs Client Library for Objective-C, Query execution by the service is inherently asynchronous. Which means when you try to create a path like: root/a/b/c, before you can...

Animate dots or points from an offset to their actual position


jquery,html,css,html5,svg
How can I do the animation by using SVG or CSS? Animation should be like below: Initially, only lines will be visible(picture 1), after 2 seconds dots (.) will come and join to the line curves(picture 2) with some animation to the dots. Online Example Please check the code below...

why i don't get return value javascript


javascript,jquery,html,json,html5
When i debug my code i can see i have value but i don't get value to createCheckBoxPlatform FN function createCheckBoxPlatform(data) { var platform = ""; $.each(data, function (i, item) { platform += '<label><input type="checkbox" name="' + item.PlatformName + ' value="' + item.PlatformSK + '">' + item.PlatformName + '</label>' +...

Does localStorage.clear(); clear ALL from PC?


javascript,html5,local-storage
If I call the following: window.onbeforeunload = function() { localStorage.clear(); }; Does this clear all local storage from a user machine or just what my site has set?...

Retrive geolocation in real time (HTML5)


javascript,html5,google-maps,gps,geolocation
I have this code: var map; var geocoder; function initialize() { var mapOptions = { zoom: 18 }; map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); // Try HTML5 geolocation if(navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(position) { var pos = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); var marker = new google.maps.Marker({ position: pos, map: map, title: 'Posizione Attuale' });...

How to read all video type in a video tag


javascript,php,html5,video,codec
I make a web interface for my server and I want to read all my video, but I have some problems: When I change the innerHTML (in javascript) of my video tag with a new source tag, it keep playing the previous video then I need to refresh the page...

Custom Element extend from input type range


javascript,html5
I can't figure out how to retrieve the current attr. value of the input type range element. The attr. value seems not be the 'internal attr. value' which is changed during slides. Javascript 'use-strict'; (function(){ var fooProt = Object.create(HTMLElement.prototype); Object.defineProperty(fooProt, "bar", { value: {test: 1}, writable: false, enumerable: true });...

More modern image maps?


javascript,html,css,html5
With all the recent advances in JavaScript/HTML5 it would be nice to think there would be a more modern way of implementing an image map. I know you can set a map property for the tag but I don't think this supports nicely formatted tooltips on rollover (near the region)....

HTML5, geolocation in real time with marker


javascript,html5,google-maps-api-3,marker
I have this code: function startTracking() { var trackId = navigator.geolocation.watchPosition(successCallback, null, {maximumAge:1000, timeout:60000, enableHighAccuracy:true}); function successCallback(position){ map.panTo(new google.maps.LatLng(position.coords.latitude, position.coords.longitude)); var marker = new google.maps.Marker({ position: new google.maps.LatLng(position.coords.latitude, position.coords.longitude), map: map, title: 'Posizione Attuale' }); marker.setMap(map); }; } Now the app create a marker every time that I move. I...

Place tables one under another forming columns


jquery,html,css,html5,css-tables
I'm trying to create different columns containing elements of different categories. Demo online I started working with lists, but I found out that tables seems to be best suited for this purpose and categories won't break into different columns. The problem I'm encountering now is that if I have a...

list checkboxes displayed horizontal


html,css,html5,twitter-bootstrap,css3
I have the following markup:- <div class="fil hori now"> <span class="label-new"> <ul class="ngc"> <li> <input class="any" id="any" name="any" type="checkbox"> <label id="any" for="any">Any</label> </li> <li class="new-select"> <input id="item1" name="item1" type="checkbox"> <label id="item1" for="item1">item1</label> </li> <li class="new-select"> <input id="item2" name="item2" type="checkbox"> <label id="item2"...

What is the semantic HTML tag to display for URLs that are not links?


html,html5,url,tags,semantics
I have a search engine plugin that outputs results in a basic structure: <a href="page url"> <div class="searchResult"> <h3>Page title</h3> <p>Page url</p> <p>Page <meta> description</p> </div> </a> The plugin is designed to integrate into an existing website so it has no default styling. However, websites are supposed to be usable...

Sending input data to a javascript file


javascript,jquery,ajax,html5,send
My following code is this: <form> <input class="inputField" type="text" required="required" pattern="[a-zA-Z]+" /> <input class="myButton" type="submit" value="Submit" /> </form> <script type="text/javascript"> $(document).ready(function () { $(".myButton").on("click", function () { var value = $(".inputField").val(); }); }); </script> I want to send to the file main.js the data after a user puts in some...

JSON.parse parsing a string into string


javascript,html5
I have confusion over the functionality of JSON.parse. I am writing code : dynamicMsgObj = '"rest, no disc"'; var jsonObj = {}; var isJsonString = function isJsonString(str) { try { jsonObj = JSON.parse(str); } catch (e) { return false; } return true; }(dynamicMsgObj); console.log(isJsonString);// returns true console.log(typeof jsonObj);//returns string How...

enable a disabled select when choose a value in another select tag


javascript,html,html5,disabled-input
I have these two select tag: <select> <option value="car">car</option> <option value="truck">truck</option> <option value="moto">moto</option> <option value="none">none</option> </select> <select disabled> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="mercedes">Mercedes</option> <option value="audi">Audi</option> </select> As you can see, my second select have the disabled...

how can I use 'localStorage' to store an entire page?


javascript,html5
I've been reading the book HTML in action and in chapter 5 it shows how to create a mobile application that can be runned even offline. My only doubt is: Can I do it for an entire page? and can you give me a simple but complete example on how...

Redraw text over clearRect HTML5 Canvas


jquery,html5,canvas
I'm trying to draw text (HTML5 canvas) depending on what option is selected in a select element. It works correctly until there's 2 set of text that appears at the same place. It seems like the clearRect function is the issue. The text won't be redrawn over that cleared space....

Show only the requested forms using JS


javascript,jquery,html,html5,forms
As the image below illustrates, I have two forms and two buttons. Currently all the forms are visible. How can I only show the requested form "according to the option they have selected (from the blue buttons on the top)"? So, if the user clicked on the "send an invite"...