Avoiding error 100: invalid parameter (requires valid redirect URI) in application requests dialog
Asked Answered
E

3

7

I'm developing a game for Facebook. I need a way for users to invite others to the game. For that, I use the apprequests dialog. I redirect the user to the dialog URL, which I glue together like this:

$url = "http://www.facebook.com/dialog/apprequests?app_id=".$id."&message=".urlencode("foobar")."&redirect=".urlencode("http://some.arbitrary.url.com");

(Of course, with not-so-arbitrary arguments, but they still look sane to me.) Upon navigating there, the user is scolded by "API Error Code: 100, API Error Description: Invalid Parameter, Error Message: Requires valid redirect URI.". I googled around for a solution, but it seems that all the people receiving this error were forgetting to escape their URLs / messages. I also tried some URLs that should be accepted without remarks, like the application canvas URL.

Does anyone know what mistakes am I making?

Eudo answered 24/9, 2011 at 14:34 Comment(0)
E
4

So, turns out the solution is to use redirect_uri and not to escape the URL to redirect to, so the code I wrote before should read:

$url = "http://www.facebook.com/dialog/apprequests?app_id=".$id."&message=".urlencode("foobar")."&redirect_uri="."http://some.arbitrary.url.com";
Eudo answered 27/9, 2011 at 8:23 Comment(0)
S
2

Try replacing the redirect parameters with redirect_uri

Semitics answered 24/9, 2011 at 15:43 Comment(3)
API Error Code: 191 API Error Description: The specified URL is not owned by the application Error Message: redirect_uri is not owned by the application. That's what I get if I point the redirect_uri to apps.facebook.com/whatever. When I point it to an URL owned by the application, I get the same error as before (100, requires valid URI).Onitaonlooker
Is the URL owned by your application? (i.e your app domain is whatever.com, the url must be something.whatever.com/something)Kierstenkieselguhr
Yes, it is. It's actually the exact URL I entered in the developer app. Actually, I thought it might be a problem as well, so I entered some arbitrary URL the app didn't own just to see what error would I be greeted with, and then I received the "redirect_uri is not owned by the application".Onitaonlooker
N
0

From my experience with this error; facebook gives you same error whatever the parameter which caused the error. my problem that I didn't use encodeURIComponent(contentParam); for all the parameters so any special character in any parameters gave me the above error.

Norm answered 3/12, 2015 at 14:36 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.