I had an issue this week on a system which has been working fine for a while, but stopped fetching some data from google's user account API. I was getting a 403 response from the API, which seemed odd. Luckily I was logging
OAuth::getLastResponse() to my error logs (this is PHP code, and you need to call
OAuth::enableDebug() before you make the request to get this output) so I could see that I was getting the following back from Google:
<?xml version="1.0" encoding="UTF-8"?> <errors xmlns="http://schemas.google.com/g/2005"> <error> <domain>GData</domain> <code>sslRequired</code> <internalReason>SSL is required to perform this operation.</internalReason> </error> </errors>
Closer inspection shows that for one of the google endpoints, I had a prefix of
http:// rather than
https://. Those single-character bug fixes that take hours to find are my favourite!