Fix for Key Validation Issue
July 20th, 2006 | Published in Google Ajax API
Given the recent activity on the message board, here's an update on some of the key validation problems that affected people earlier in the week. There were two distinct, but somewhat related issues at hand, both of which have been resolved.
First, people received errors because "GSearchControl" was undefined. This was due to a number of things, such as invalid API keys, API key sharing across different URLs, and typos in the script tag that loaded the API. Previously, these errors would fail silently, but we made a change to respond with a 200 instead of a 400 and also deliver an alert() call with a string indicating that either your key was invalid, that the version you specified was invalid, that the resource (file=uds.js) was invalid, etc.
Second, we made a mistake with the key validator and didn't allow for reasonable alternatives of the hostname (e.g., http://www.example.com vs. http://example.com). We've since fixed this issue.
Our mistake was in taking a silent error and turning it into a noisy one, and I apologize for the painful process that many of you experienced. Your ability to react in real time to the changes helped us monitor and fix this in real-time, so we appreciate all the helpful feedback.
First, people received errors because "GSearchControl" was undefined. This was due to a number of things, such as invalid API keys, API key sharing across different URLs, and typos in the script tag that loaded the API. Previously, these errors would fail silently, but we made a change to respond with a 200 instead of a 400 and also deliver an alert() call with a string indicating that either your key was invalid, that the version you specified was invalid, that the resource (file=uds.js) was invalid, etc.
Second, we made a mistake with the key validator and didn't allow for reasonable alternatives of the hostname (e.g., http://www.example.com vs. http://example.com). We've since fixed this issue.
Our mistake was in taking a silent error and turning it into a noisy one, and I apologize for the painful process that many of you experienced. Your ability to react in real time to the changes helped us monitor and fix this in real-time, so we appreciate all the helpful feedback.