It works! It works! It finally works!! I can say my “Upload/ Download” finally works after weeks of struggling with it. That was a joyous moment for me. This would have my last week fighting to get the feature working. After a lot of trial and error with various syntax and protocols, I have succeeded in showing Dropbox Upload/Download feature functioning for sample .txt files.
As I have mentioned in the last week’s blog, I had been stuck with Error 404, which in Dropbox API meant the path of the file was invalid. After going through several solutions, I came to a simple conclusion, since API v2 considered file path automatically, it only needed the file name to find it exactly in any folder irrespective of its path. Another issue I overcame was that parameters could not be sent in the request body but rather in the request url. With these out of the way, there were error 401 being responded which indicated the authentication had been failing for every new request being sent. This meant I had to refresh or reuse the authentication information provided after login and this was solved by retrieving access-token from the authentication request using JSON classes in witty. While trying to get the upload/download working, in a mere trial and error method, I have also tried various protocols other than http such as curl and other different languages in an attempt to make the feature work.
Now with that concern being gone, I was asked to clean up my codes and make each feature independent of each other to be accessible separately as per request by different projects or users. Alongside try to limit upload/ download file size to prevent the server from crashing.
For the coming week, I have been assigned to sketch and get started on a unique user interface for the project which would allow users to control and conduct various in-app operations for their projects. The user should also be able to sign in to an account, before allowing users to connect to their cloud storages. Once that is done, the projects shall be able to connect to physical boards.
These seem like a lot to accomplish in the very short time limit I have but I am sure, now that I have gained pace, I will be able to achieve it. I can really see my project come to life and see exactly where it fits. That in itself is motivating knowing how it matters.