我正在尝试使用fbconnect模块为Play Framework启用Facebook注册。
在我的本地服务器上,我正在访问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)
(为了安全起见,我用“......”替换了一些字符)。
URL中索引240处的字符是“|”。如果这实际上是URL的无效字符,为什么Facebook会返回它?如果没有,为什么Java拒绝它呢?
更新:显然这是在2010年11月报告为issue,并且作者声称它已被修复(fbconnect-0.3在此之后被释放了一段时间,这就是我正在使用的)。