I am looking for to sync up operation with my client app folders should always be updated with with server files and folders.. maybe Delta will help me in this case
I am looking for some sample source code to work with.
Look at longpoll_delta request at last version of DropNet. It has sync and async realizations and can watch files and folders updating.
The usage is similar to official API for DropBox: longpoll_delta.
Related
I know that OneDrive does not support file versions, but I have read that Sharepoint does support file versions.
But Sharepoint is not OneDrive. I was unable to find API calls to see who made changes to files, but I can see in the OneDrive web front end there is a way to see the revision data (different times the file was modified and by who). Is there an API call to retrieve this data (by who and when the file was modified and not the different versions of the file)? I was unable to find an api call in the documentation.
Note: I am not looking to get different versions of the file, just the modification history of the file. Thanks.
I think what you are looking for is the versions api. You can call this api as follows:
https://tenant-my.sharepoint.com/_api/v2.0/drive/root:/test.docx:/versions
This will return the metadata associated with the file versions. It does have lastModifiedDateTime, but is missing lastModifiedBy property. If I find some documentation for the api, I will update my answer with it. In the meantime, feel free to reach me in case you have more questions.
I am new to this Google Drive SDK. Using Drive as cloud storage for my app. App needs to sync the data in largestChangeId appdata folder. For the first time App needs to get the largestChangeId using changeList API.I believe that the result of changelist API include all details.Which are not interest to me. I am just interested in largestChangeId to store locally to subscribe for changes feed in future.
How can I tune changeList API to just get only largestChangeId?
Are there any other alternative way or API to do this in smart way?
Your help is appreciated.
You can get largestChangeId only by using About.get() with fields parameter specified.
GET https://www.googleapis.com/drive/v2/about?fields=largestChangeId
This will simply return
{
"largestChangeId": "{{WHAT_YOU_WANTED}}";
}
And you're already doing it in a smart way :)
How does the Dropbox Datastore API differ from similar offerings like Parse? One difference that I see is that my users pay for server storage instead of me. Are there other differences?
Disclaimer: I'm a Dropbox engineer who worked on the Datastore API, and know about the Parse API only indirectly. Weigh my opinion appropriately. Major differences I know of (pro and con):
Dropbox Datastores are free to the developer, and free the user for the first 5MB per-app (after which their Dropbox quota applies). Parse charges developers based on how many API requests they’re making.
Parse has minimal offline support, while Dropbox has full offline operation. With Dropbox, if the developer modifies data while offline, those modifications will be reflected in subsequent queries (with Parse, those changes are not reflected). Dropbox provides on-device query logic (unlike Parse) so that apps can continue to generate the views they need to, even when there’s no Internet available. In addition, Parse does not provide conflict resolution or querying offline.
Parse provides the ability to share data between users, and global data for all users of the app. Dropbox Datastores only support per-user data (for each app) for now (sharing is on the roadmap).
I would also add that:
Parse is full feature of backend of as service. You can find a pretty complete list of the other player in this field: http://en.wikipedia.org/wiki/Backend_as_a_service. They provide feature like:
Data service
User registration/auth
Push notification
Social
The dropbox Datastore APIs is more focusing on data services. (You also got the User part for free too?) Also it works full offline.
The Parse framework can store data that can be ready by any user in the application.
The Dropbox datastore, store data for each user, and you can't accesss data from other user. That's the main difference.
So easy to get lost in this since you have to read between the lines. My take is that with Datastore you are working with objects stored offline locally as json. I'm hoping they will soon release a Xamarin Android component - they released an IOS component last month. Since Xamarin targets both Android and IOS and Winphone, who knows why they made a dedicated IOS DLL for Xamarin but I digress. With Parse, it appears to me their intent is the always-connected-device. Sure you can save queries locally and you can save (save eventually) locally where Parse will push to the server when it is connected. But saving "eventually" and saving queries for offline work is a different design than just saving and letting Parse do it all in the background for you - which it does not unless I have missed something that would make this attractive to me. I cannot see Parse useable for devices that you know will be sometimes-connected, without a lot of code to make this happen and sync.
With Docs API deprecated and some nice new functionality in Drive API, I'm working on updating some of my file migration scripts. However, I've found there doesn't seem to be a Drive API equivalent to the writersCanInvite parameter in Docs API v3. Being able to set this attribute on a file would be extremely important during migration scenarios as without it, the migrated file would be left open to having editors share it out further.
Not having writersCanInvite avaialble in addition to not being able to see email addresses (or some Unique ID) for the ACLs is preventing me from fully porting over my migration script to Drive API v2.
Thanks Guys,
Jay
It looks like we now have a writersCanShare attribute that controls this:
https://developers.google.com/drive/v2/reference/files#resource
at the moment, it's not marked as writeable but I had no problems making it False for a new document so I'm guessing that's just a documenation issue.
I have an app that relies on some key value pairs where the value could change at a point in the future due to 3rd party api. The app is only useful when connected to the internet by the way. If any values change I don't want issue a new version of the app - I would rather that these values were pulled from a webservice/static xml file on my server. I would only need to pull these if I encountered an error.
Is there a standard way to do this or should I just roll my own?
EDIT: I'm not so interested in a server side technology - I think a flat file will suffice. What I'm interested in is what format should the flat file should be and how to cache it into my application once I get an error.
try redis, high-performance key-value store. used by some of the big cloud players, like cloudfoundry. Have a look at http://redis.io/. Objective-c client is available at http://redis.io/clients.
I figured out the best way for my use scenario:
I setup a json file on S3 which required authentication. I then used AWS for Objective C to authenticate so I could access that file.
I decided that I only needed to update the local info when the applicationDidBecomeActive in the App Delegate. I then got the json async and on success I then checked a version number in the json and if outdated wrote the changes to NSUSerDefaults (which are then used through the app.) If there was an error getting the json file I just continued as I would already have the previous set of NSUserDefaults that would do the job until the user next made the app active.
This solution worked best for me as it's simple to maintain and should easily handle the load even if my app were popular.
Have you considered using iCloud? It has support for key value pairs. More info here: http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/iCloud/iCloud.html