问题
I have a Realtime API application in which the prototype of gapi.drive.realtime.CollaborativeString is modified to provide extra methods. Today (October 30, 2014) at about 10 AM EDT, the app suddenly stopped working. It turns out that accessing gapi.drive.realtime.CollaborativeString.prototype throws an error because gapi.drive.realtime.CollaborativeString, along with all the other Collaborative classes, is now undefined!
I am currently working around this by adding the required methods to each CollaborativeString individually, but I would appreciate if someone on the Google Drive API team could tell me:
Has the API actually been changed today to remove the public handles for these classes?
If so, why?
Most importantly, why was there no warning or change in the documentation? Unless there was no change and I'm just being stupid, this caused significant downtime on a production service today. The documentation still lists the classes in the gapi.drive.realtime namespace.
Thank you in advance for your clarification and sorry for the StackOverflow format. Also posted in the Google Drive issues forum.
回答1:
We made some changes to the API to avoid exposing obfuscated private properties, which were causing problems for several of our users who were using custom objects (https://developers.google.com/drive/realtime/reference/gapi.drive.realtime.custom).
I'm sorry for the downtime that this caused. We did not know that anyone was modifying the prototype objects, and in fact we never doing so would work at all (though obviously it does).
I would be happy to have a 1-on-1 conversation about your app and how we can prevent future downtime. We have a pre-release channel that I would be happy to whitelist you for so that you can test changes before they affect your production users.
来源:https://stackoverflow.com/questions/26664460/was-the-drive-realtime-api-changed-today