Yelp Place API returning "Invalid Signature" Error only from Nginx on EC2 Yelp Place API returning "Invalid Signature" Error only from Nginx on EC2 nginx nginx

Yelp Place API returning "Invalid Signature" Error only from Nginx on EC2


This will probably not pertain to most people, but the off chance it could help someone, here it is:

My "time" was effed up on my EC2 instance. So for example, in ruby, Time.now was not printing the actual time. (I think it was off by a few minutes or so).

Anyway, Yelp API requires a oauth_timestamp when you send a request. Of course, then, my request was timing out b/c the time was off.

How did I found this error out?

I just pinged the URL on my browser with the oauth, token, oauth_timestamp, etc. (few more) as query params. The browser spits out the error response in JSON, and it was saying that my request was timing out. When you use the ruby Yelp Client and catch the exception in code, it doesn't spit out the error response in terminal, so it's a bit more difficult to locate the exact root of the error.

How I solved it:

I re-calibrated the time in my ec2 instance by following the directions here: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html

Problem is solved. Peace.


Invalid signature error in Yelp API occurs due to two reasons .First , Either of your four keys i.e consumer_key , consumer_secret_key , Token & Token Secret is invalid . Secondly Parameters passed to Yelp API Function are either invalid or any of those are nil .