How to open documents with Office365 in my web application? - amazon-s3

We have a cloud based audit application. While performing audit a user typically uploads a lot of documents. Currently in order to view the documents he has to download them. Business requirement is that on clicking the document it should directly open up in another browser tab using office 365 just like dropbox/onedrive. The user should be able to view, edit, save it on server (without downloading) and close it. How to achieve that in our application?
Our webapp is built using ReactJS, NodeJS & MongoDB. Whenever a user uploads a document it gets saved in a AWS S3 bucket.
I went through Microsoft Graph API and OneDrive RestAPI's. Looks like the only solution is to use the OneDrive API's to save files in OneDrive instead of S3. And then it should allow you to use the Office365 apps. Is this the right solution? Am I missing anything?
Is there any other solution?

While the easiest solution is indeed to store the documents in OneDrive, there's also another way. You can enroll in Microsoft's Cloud Storage Partners Program and implement the WOPI protocol on your service. This would allow the Office Online viewers/editors to integrate with your service's data directly.

You need to use both aws and O365 api to reach a working solution. Try the following steps (PS: I have not tried this. But I have saved edited documents from Office 365 to AWS)
Read the uploaded document from AWS using AWS api's and upload it to office doc using office doc api.
Edit the doc using office docs api.
Save the doc back to S3

Related

Service Account for Google Data Studio to Access HTML Files on Google Cloud Storage

I have some HTML files uploaded into a Google Cloud Storage bucket that I would like to embed through an iframe on my dashboard in Google Data Studio.
This works just fine when I open access to the world on the bucket (or resource) by setting the AllUsers permission.
However, I would prefer to only allow access through Google Data Studio. How can this be achieved?
I was thinking of adding a permission for the Service Account of Google Data Studio, but don't really know how to configure this correctly.
I don't believe this is possible right now.
However, a complex solution I can think of is to use a combination of Community Connectors and Community Viz:
Build a community connector that uses your own GCP service account to read the HTML files on GCS and send back the raw HTML content as data.
Build a community viz that can take the HTML data from the connector and render the HTML.
If you have multiple HTML files, you can setup filters in Data Studio so that each viz renders only one HTML.
Code samples for Community Connector and viz are available here.

Store data into google drive's backup tab instead of drive folders

I need to implement same thing like whatsapp storing all chat history to google drive on clicking on backup button in app. And same restore it in new device as required.
I have look for below references for implementing this, but some how I was not able to do it successfully.
https://developer.android.com/guide/topics/data/backup.html
https://developer.android.com/guide/topics/data/data-storage.html
https://developer.android.com/guide/topics/data/data-storage.html#db
Will this data backup option will help in my requirements or I need to do something else?
I successfully developed the file upload to google drive folders, but i need that data in the backup tab of google drive with app name.
can any one guide me how I can implement this or provide me some references?
Thanks in advance..!
You may refer with this documentation. The Google Drive API includes a special hidden folder that your app can use to store application data.
Note: This feature now uses the alias appDataFolder in place of appdata and appfolder.
To be able to use your Application Data folder, request access to the following scope:
https://www.googleapis.com/auth/drive.appdata
For more information about scopes and how to request access to them, see Authorizing Your App with Google Drive.

OneDrive API Link Sharing Options

I'm currently working on an application that interacts with OneDrive. I've read RESTful API manual and the only option available is to share document.
My questions are:
Is there any way to remove or regenerate file sharing link?
Is there any way to specify user emails to give an access to them?
Is there any way to control this UI option "Recipients need to sign in with Microsoft Account"?
The sharing links that are created do not expire. If you create a sharing link for a file that already shared, a HTTP 200 code will be returned. At this time, createLink is only available but the user can remove the sharing permission from the OneDrive website. Specific user access isn't currently supported. Like the OneDrive website, any created link will not require sign-in. I hope that helps.
The only way to regenerate link to a file is to:
Copy file "foo.docx" to "(Copy) foo.docx"
Remove file "foo.docx"
Rename "(Copy) foo.docx" to "foo.docx"
Generate link for "foo.docx"
There is no way to specify emails for document access
There is no way to control this UI option "Recipients need to sign in with Microsoft Account"

Is there a way to create a Dropbox link that opens a file or a folder in the native app?

Basically, what I would like to do is to create a link from a web application that will open a Dropbox file from appropriate Dropbox native app. Google Drive for example allows you to re-format the unique URL for a file such as https://docs.google.com/blablabla which you can retrieve from their API, into googledrive://docs.google.com/blablabla and lets you open the file in Google Drive native app.
I have tried dropbox:// URLs with no success, and have not found any existing conversation on this despite running cross multiple conversations on the same subject for Google Drive or Evernote. Please let me know if it is possible to somehow generate this via API or based on the folder structure etc.
Thanks!

How to access Chrome's online bookmarks?

Google Chrome allows you to sign in with your Google account to sync bookmarks and settings. Those bookmarks are then stored along with my account on their servers.
I want to create another client for the bookmarks. Please note that I am not interested in reading the local bookmarks file from hard disk. Instead I want to connect with the online servers directly.
So I need to access the same API as Chrome uses for synching. Is there a way to find out how to use that API?
Whilst not using an API directly it allows you to query data from google bookmarks online (directly via REST call), and parse it yourself.
http://www.google.com/bookmarks/?output=xml&num=10000
I have included a link on how you may parse this data from the "Lite Bookmarks" chrome extension repository.
http://www.google.com/bookmarks/?output=xml&num=10000