7

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もいくつか試しました。

私がどんな間違いをしているのか誰か知っていますか?

4

3 に答える 3

4

したがって、解決策は、リダイレクト先のURLをエスケープせずredirect_uriに使用することであることが判明したため、前に作成したコードは次のようになります。

$url = "http://www.facebook.com/dialog/apprequests?app_id=".$id."&message=".urlencode("foobar")."&redirect_uri="."http://some.arbitrary.url.com";
于 2011-09-27T08:23:51.170 に答える
2

redirectパラメータを次のように置き換えてみてくださいredirect_uri

于 2011-09-24T15:43:28.947 に答える
0

このエラーに関する私の経験から。facebookは、エラーの原因となったパラメーターが何であれ、同じエラーを出します。encodeURIComponent(contentParam);すべてのパラメーターに使用しなかったため、パラメーターに特殊文字を使用すると、上記のエラーが発生するという問題がありました。

于 2015-12-03T14:36:49.740 に答える