避免错误100:应用程序请求对话框中的参数无效(需要有效的重定向URI)

时间:2011-09-24 14:34:47

标签: facebook dialog apprequests

我正在为Facebook开发游戏。我需要一种让用户邀请其他人参与游戏的方法。为此,我使用apprequests对话框。我将用户重定向到对话框URL,我将它粘合在一起:

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

(当然,有不那么随意的参数,但它们对我来说仍然看起来很明智。)在那里导航时,用户被“API错误代码:100,API错误描述:无效参数,错误消息:骂”:需要有效的重定向URI。“我搜索了一个解决方案,但似乎收到此错误的所有人都忘记了他们的URL /消息。我还尝试了一些应该被接受而没有备注的URL,比如应用程序画布URL。

有谁知道我犯了什么错误?

3 个答案:

答案 0 :(得分:3)

所以,事实证明解决方案是使用redirect_uri不要转义要重定向到的URL,因此我之前编写的代码应该是:

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

答案 1 :(得分:1)

尝试用redirect

替换redirect_uri参数

答案 2 :(得分:0)

根据我对此错误的经验;无论导致错误的参数如何,facebook都会给出相同的错误。 我的问题是我没有对所有参数使用encodeURIComponent(contentParam);,所以任何参数中的任何特殊字符都会给我上述错误。