It looks like you're new here. If you want to get involved, click one of these buttons!
I've put together a write-up of how I connected DropBox to Codea inside an app. It can be found here:
http://uptwolate.blogspot.com/2013/03/dropbox-integration-in-codea.html
Comments
I keep getting "The Request to Link the App is Invalid" on the dropbox page
@BriarFox, did you make an app in DropBox first? If so, you have a key/secret that you pass to the DropBox constructor.
What does your main() look like?
Yeah I setup an app on the dev page. Called it CodeaDB. I've entered and re-entered the key and secret.
main is
That looks right. I'm going to ASSUME you didn't make a mistake with the keys.
I also just validated that I can still use DropBox integration on 1.5, it was OK, though it gave me a warning because I'm using http.get().
Keep in mind that you had to go through all three steps. So, which step are you getting stopped at?
aciolino, i must have made a mistake. I re coppied and pasted and it worked! Very neat code. thanks for sharing it. its going to be very useful.
You're welcome! Glad it's working!
Very interesting work @Aciolino. Thanks for sharing.
I was having an issue reading the key and the secret from storage. It always required the variable appKey and appSecret in main.lua
I added self.appKey and self.appSecret to line 51 &52 of DropBox.lua
I went through all the steps and set up Dropbox, and put my keys in your code, but it's the final stage that confuses me a little
I set up Main like this
This opened up an approval request in Safari, which I authorised. After a few seconds I went back to Codea, which was showing this:
Am I supposed to do something back in Codea? And if I get this working, do I have to go through this authorization every time I use Dropbox, or is it one time? Sorry about all the questions!
Just run the main.lua from the gist to set it up. then link to your project. All i did in my project was:
and it worked
It's ok, I'm an idiot. I copied and pasted from the gist page, not realizing there were three files to copy. Now it works. And it's cool.
@Ignatz, grab one of the gist loaders and pull from gist directly into codea.
@aciolino I've built this function to create backups only when the version number changes, so you can safely call it in setup at the start of each run, knowing it isn't going to clutter your Dropbox account or write over your last good backup. It stores backups in a Backup folder (deleting any extra copies made in the root folder as well). The only issue is that it requires an awful lot of support code (DropBox plus JSON), so I suppose if I use this in practice, I'll set references to a separate Dropbox project rather than importing it. Improvements welcome.
Just so that you know, DropBox checks to see if your file is different and if it's not, it doesn't update it...I think...
Thank you - but that doesn't affect why I did it this way. If I'm tinkering with a project, I may try something out, find it doesn't work, and want to go back to how it was before. If Codea keeps overwriting my latest version every time I make a change, I will have nothing to go back to. So I want my backups to be at specific checkpoints.
To keek intermediate versions, i long press on the project, and make a copy with a version number at the end of the name.
Lol - version control! Who needs it!?
Actually, the version number idea is pretty good, though I usually do a backup to DropBox, then on a PC, zip the directories with today's date.