Skip to main content

How to make Chrome Packaged App that's trying to load realtime data model

A packaged app (Chrome App) cannot have less restrictive CSP (Content Security Policy) than the default CSP value. And it looks like the Google Drive Realtime API cannot be used in the Packaged app's without any hacks. Because the default packaged app Content Security Policy (CSP) value disallows the use of eval() or new Function(). However, a variety of library uses eval() and eval-like constructs such as new Fucntions() for performance optimization and for ease of expression. It will result in following error:

"EvalError when trying to load realtime data model"

Steps to resolve this issue:
  1. Load GAPI using a webview tag.
  2. Load Webview inside standalone localhost. Use a chrome socket.
  3. Handle your own OAuth flow and supply the token to the gapi auth client.
This way you can make your Chrome Packaged App to work with Google Drive Realtime API.

Comments

Popular posts from this blog

How to Build Realtime Collaborative Apps using Google Drive Realtime API

Google Drive lets users create Docs, Sheets, and Slides, collaborate on them in realtime. The Google Drive Realtime API provides collaboration as service for files in Google Drive via the use of Operational Transforms. Using Google Drive Realtime API, you can now easily build your own collaborative apps. Realtime API is based on the same collaboration technology used by Google Docs. Realtime Collaboration System: What Google Drive Realtime API does for you ? And what you have to do ? Realtime API handles everything for you like network communication, storage, conflict resolution, and other collaborative details: Functions to load and work with Realtime documents. Built-in collaborative objects (Strings, Lists and Maps) Also you can create your own custom collaborative objects. Events for detecting changes to the collaborative data model. A text binder to bind your collaborative objects to the DOM. Google Drive Realtime API provides all the tools you need to ...

How to do live streaming with HD Camcorder which does not have USB streaming capability

As discussed in my previous blog we can do live stream any events like Birthday party, Engagement Function, Marriage Event etc., using amazon EC2 and Adobe Media Server. Problem: Need to use your own  HD Camcorder like Sony HD Camcorder , to capture video source and connect to FMS URL in Adobe Flash Media Live Encoder as shown in figure below and start streaming to FMS server instance running in cloud. But such Camcorder does not have USB streaming capability then how to solve this problem? Solution: You can use EasyCap to capture high quality audio/video  as a connection interface. This connection interface is helping us a lot to do live streaming with HD Camcorder's and other Camera's of Videographer. Hope this is very useful information to people who would like to stream their own events for their beloved one's who are staying away. Happy Webcasting!!! :-)

How to Design a Good Realtime Data Model in your own Collabrative App

Use Case Requirement of my Mobile App: Let us consider the following use case of my mobile app to design a good realtime data model. Use case: Reconcile chat messages in multiple devices. I need to show up history data generated by one device in another device in real time when user login in two different devices using same account details. To implement this we need a central storage server and a synchronization service. Solution: Google Drive can be used as a file storage server and also I need to look for a javascript library or we should implement Operational Transformations (OT) that would allow us to synchronize history data in realtime between multiple devices. And Operational Transformations seems to fit my need for realtime sync. Google Drive Realtime API provides synchronization service for files in Google Drive via the use of Operational Transforms. This API is a JavaScript library hosted by google that provides collaborative objects, events, and method...