I've been using the Knowledge Graph API for a few months now. I just received a 400 "Request contains an invalid argument". I believe the API is having an outage or undocumented new requirement.
Here are instructions:
https://developers.google.com/knowledge-graph/#sample_request
Here is a more specific example per the instruction. My API key is correct. Using an intentionally invalid API key produces an appropriate error.
https://developers.google.com/apis-explorer/?hl=en_US#p/kgsearch/v1/kgsearch.entities.search?indent=true&limit=1&query=taylor+swift&_h=4&
Exact query URL would be:
https://kgsearch.googleapis.com/v1/entities:search?query=taylor+swift&key={api-key}&limit=1&indent=True
Update: It just started working again.
After doing some queries with Wikimedia API, I am not getting any result, all requests seems like cached or not proper.
The SandBox API request was giving some response for me yesterday, but today afetr trying other queries I am not getting proper response for any of the query.
So is there a limit of query we can make from one IP or if all my requests are getting cached how to remove the cache.
Recent changes are stored for 30 days of Wikimedia projects (the MediaWiki default is 90). You're requesting data older than that. Did you maybe intend to get changes newer than your date? In that case, you need to specify rcdir=newer.
In my cloud code I do some things inside an after save method:
send 2 emails in parallel and an http request to create a calendar with google calendar, the problem is when doing the http request to create the calendar it returns a timed out error. I know parse have limits to 3 seconds for after save method, but my question is. How I make requests that last longer than three seconds?
You cannot overcome the request time-out limit on Parse. Parse is shutting down in less than a year, so you better move to a platform that has longer time-outs. I think on Backendless platform, the function time-out is 5 seconds.
I have generated the following rss feed which validates correctly with w3:
http://www.ppsgroup.co.uk/blog/rss
validation here
http://validator.w3.org/feed/check.cgi?url=http%3A%2F%2Fwww.ppsgroup.co.uk%2Fblog%2Frss
However when I try to make an API call
https://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=100&q=http://www.ppsgroup.co.uk/blog/rss200
(I've added a number at the end of the url because it seems google caches the response)
I get either an empty entries field or a 400 error.
Any idea what is wrong with the rss feed or how can I debug the api call?
This was working until recently so I'm not sure if something changed on google's side.
After hours of searching and trying every possible solution found on the web, I cannot try anything else for my problem, so I really need help:
I want to implement a simple autocomplete text box with geocode results, so I call AJAX requests while the user types in the text box
I have enabled Google Maps and Google Places from the Google APIs Console
I have created a Key for server apps with my server's IP
I have a PHP file (called through AJAX) running on the server which sends the request to Google Places using file_get_contents() function (SSL is enabled) - also tried with cURL function
The request I'm asking for is
https://maps.googleapis.com/maps/api/place/autocomplete/json?input=MY_SEARCH_STRING&language=us&types=geocode&sensor=false&key=MY_KEY
where MY_SEARCH_STRING is a simple string like "London" and MY_KEY the Key I have created
what I get as a response is
{ "predictions" : [], "status" : "REQUEST_DENIED" }
I have also tried this with a browser key. Also tried to create a new project, enable Services all over again, and create new Key. Switched services on/off & creating new key many times in any combination. Nothing worked.
The strange thing is that the same code was working the last months in a landing page I had created on the server, but had a long time to check it, so I do not know when it stopped working.
I appreciate a lot any help!! Thank you.
SOLVED. In Google API Console, I had declared allowed server IPs. I was assuming that if I declared an IP, I was just ensuring that requests would be allowed only from that IP. In order for this to work, you must also declare the allowed per-user limits for each IP, or else it just doesn't allow any requests. I removed all the allowed IPs, waited for 3-4 minutes, and the request was allowed.
Not sure if this helps, but here is a short example:
https://google-developers.appspot.com/maps/documentation/javascript/examples/places-autocomplete?hl=el
I've had a similar issue, fixed it and discovered a few things that may be useful in troubleshooting this
using http instead of https will result in REQUEST_DENIED
omitting &userIp=x.x.x.x will result in REQUEST_DENIED
a server key needs to be generated and used in case the request is from a php script even if ONLY consumed via browser by users or it will result in REQUEST_DENIED
a few minutes are necessary before testing if the list of IPs allowed has been changed
Hope it helps some of you guys