Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to get access token from Facebook. Got an OAuthException says "Error validating verification code"

Tags:

facebook

token

I am using java and the purpose of my demo application is simple: Update user status. I followed the Server-side Flow on page http://developers.facebook.com/docs/authentication. I got the auth dialog, facebook lead to the callback url and I got the code in my callback page. Then I failed when I try to generate an access token.

In the guide page, it says the following url could be used to generated an access token:

https://graph.facebook.com/oauth/access_token?      client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&      client_secret=YOUR_APP_SECRET&code=THE_CODE_FROM_ABOVE 

But what happens in my environment is I got the following error message:

{    "error": {       "type": "OAuthException",       "message": "Error validating verification code."    } } 

I am quite sure every parameter is correct because if I change the client_id value or client_secret parameter, I will got a different error message. The code parameter is what I got from facebook callback. So this should be correct, right? Really can't figure out what is the problem....

Any idea about this? I get stuck here...

like image 604
DeepNightTwo Avatar asked Feb 15 '11 09:02

DeepNightTwo


People also ask

What does error validating access token mean on Facebook?

Message: Error validating access token: The user is enrolled in a blocking, logged-in checkpoint. This error message means that your Facebook user account has failed a security checkpoint and needs to log in at Facebook or the Facebook Business Manager to correct the issue.

How do I verify my Facebook access token?

You can simply request https://graph.facebook.com/me?access_token=xxxxxxxxxxxxxxxxx if you get an error, the token is invalid. If you get a JSON object with an id property then it is valid. Unfortunately this will only tell you if your token is valid, not if it came from your app.


1 Answers

I recently dealt with exactly this problem: everything matched, but it failed with the OAuthException. The thing that made it work was to change the redirect uri (in both requests for the flow) from:

http://foo.example.com

to

http://foo.example.com/

I.e., add the trailing slash. And then it worked. Stupid and silly, but there you go.

like image 194
Chip Avatar answered Nov 10 '22 19:11

Chip