Я пытаюсь включить регистрацию в Facebook с помощью модуля fbconnect для Play Framework.
На моем локальном сервере я попадаю на страницу разрешений Facebook, но затем получаю следующее исключение:
Caused by: java.net.URISyntaxException: Illegal character in query at index 240: https://graph.facebook.com/oauth/access_token?client_id=18...13&redirect_uri=http://local.rank.my:9000/fbconnect/oauth/callback&client_secret=738fd...63590c5f&code=2.p2BLC_MSHV...496019|Hf_Dar_LB0zLVgwHrMkLFC3bA0g
at java.net.URI$Parser.fail(URI.java:2809)
at java.net.URI$Parser.checkChars(URI.java:2982)
at java.net.URI$Parser.parseHierarchical(URI.java:3072)
at java.net.URI$Parser.parse(URI.java:3014)
at java.net.URI.<init>(URI.java:578)
at java.net.URI.create(URI.java:840)
(для безопасности я заменил некоторые символы на "...").
Символ с индексом 240 в URL-адресе - «|». Если это действительно недопустимый символ для URL, почему Facebook возвращает его? Если нет, то почему Java отвергает его?
Обновление: по-видимому, это было замечено как проблема еще в ноябре 2010 года, и автор утверждал, что она была исправлена (fbconnect-0.3 был выпущен через некоторое время после этого, и это то, что я использую ).