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.
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.
Related
so far so many Dapp developers have made so many Dapps which are integrated with MetaMask or other similar extensions like Parity and Web3.js.
Is there any idea or suggestion about developing one without all those extensions mentioned above ?
Thank you.
There are mostly two reasons these extensions exist:
The user shouldn't need to trust the website to provide their. blockchain data source, and more importantly, users should never have to trust a web app with their account's private key.
Of course you can make sites without those guarantees, but to do that kind of misses the point of decentralizing trust.
I've recently came across a project in alpha: https://fortmatic.com
It gets rid of the need to use DApps without extensions. Docs seems pretty good, was able to get things working pretty fast. It triggers a modal in an iframe for user auth (similar to Stripe or Plaid) - imo this feels like a better ux as the end users never have to leave the main dapp experience
I received this email and due to my lack of experience in google drive, I am unsure of how to go about troubleshooting this.
Google
IMPORTANT: Steps to migrate from discontinued Documents List API
Hello administrators,
We recently posted a reminder that Documents List API will be discontinued on April 20, 2015. This change means that service calls for this API will no longer be supported, and any Google Apps features that are implemented using this API will no longer function.
Our records indicate that you may have an application that uses Documents List API, and we recommend that you migrate to Drive API, which has comparable functionality, as soon as possible.
Here's what you need to do:
Determine if you have an application that makes requests to these types of URLs:
(took out urls since this format did not allow me to send more than two)
Migrate the applications to Drive API.
If you have questions about migration, please contact Google Apps for Work Support.
Sincerely,
The Google Apps for Work Team
How do I determine, which, if any, docs are going to cease to function post 4/20? Is there a way to organize my current list of docs (I have many) to see how many I need to pay attention to? In terms of migrating, is there a migrating tool available online?
From what I have read, I feel like this doesn't even pertain to my current drive. My understanding is that this is for developers not casual users such as myself. Am I wrong in that assumption?
Thank you for all your help in this matter. If I am not explaining everything to the level you need, please let me know. I am just confused by the email and want to make sure I stay ahead of this.
Best,
Nathan
The key part of the email is Our records indicate that you may have an application that uses Documents List API
If you have such an app (you should know since by implication, you wrote it), then you have a lot of work to do over the next two weeks. If you don't, then relax. Your documents are not affected by this announcement, only the app that Google thinks you once wrote.
It's possible it's referring to an app you have installed, in which case there is nothing you can do other than hope the developer has a new version.
In my case Google Apps Sync for Microsoft Outlook and Google Drive Windows seem to be the 2 applications that are requesting access to these depecrated scopes ... Come on Google, spread the word internally !
I am currently working on a small php library which would allow users to access data from the Google Play Developer Console, and insert it into a database, for future use.
To achieve this, I authenticate into the corresponding Google service with GET and POST requests (this part is still ok) and then do various POST requests to get all the data I need.
Everything was working fine, I got the script itself functioning (for fetching JSON responses) since 2 or 3 weeks, and I am launching it on a daily basis since then : no problems.
Today, I tried to launch it again, and as a JSON response for any POST request, I'm getting this :
I swear this is no fake, yet it's quite scary. Is Google trolling me right now?
Plus, the web version of the console still works, it just seems that my requests from outside don't.
I'm working on a localhost, so the hacking possibility is near (if not) 0, and I'm really worried that I made all this work for nothing.
if Google is actually trying to silence me from fetching data, plus making me rage, they are doing it right.
I've been googling this with all sort of keywords, still no luck.
Actually, I have solved this problem. As Google Webkit seems to regularly change the format of its JSON responses, my parsing and regular expressions were not working anymore to get the correct identifiers for authentication. I still think Google is trolling users or developers of non-official APIs, but now I have found a solution : manually check my parsing functions, adapting them to get every right value, and it's working again.
It's a pain, but if someone ever gets this problem and ends here, you know what to do!
(I can't be more precise, since these changes are totally random, but those are guidelines.)
I have been playing with this for days and no luck. One of the challenges is not being able to watch the network traffic of "UrlFetch" since it is on Googles wires.
Anyone interested in posting a detailed example of using "Digest Auth" and Google Apps Script?
It should be possible, but I'm not sure I've seen it done before. I looked into it briefly once but digest authentication is pretty complicated and it's a task to code it by hand. If you are looking for a server to test against I'd recommend test.webdav.org, and there are some existing JavaScript libraries like dijestj that you may be able to leverage or learn from.
A project I am working on makes multiple calls to the YouTube gdata API. Usually when I am using the site heavily and going through several pages that use the API, I just stop getting any returns from the API. Those parts of the site load fine, but things usually gathered by the API suddenly cease to load for a while. Is this because the API can't handle successive calls from me like that or because my code is bad?
I know this probably isn't the most constructive answer for Stack Overflow, so please let me know if I need to remove it.
I think you hit some kind of request throttling. As said in the FAQ https://developers.google.com/youtube/faq#operation_limits Youtube limits various of options to prevent to much data/requests.