我没有带链接的物理页面,而是使用java.net.URL
从后端触发链接的应用程序。我想知道如何将target=_top
附加到网址上?我觉得我已经尝试了一切,但都失败了。有人可以帮助我。或许可以在java.net.URL too
中设置它。
https://graph.facebook.com/oauth/authorize?client_id=111111111&redirect_uri=https://local.example.com:8443/test/facebook/oauth/blank/https:$002f$002flocal.example.com:8443$002ftest$002fsignin/target=_top
是我尝试过没有成功的案例之一。
我也尝试过以下所有内容。
:target=_top
/target=_top
&target=_top
:target="_top"
/target="_top"
&target="_top"
我面临的问题Simple FB inquiry: FB login screen in a canvas app?
一些代码
尝试1
StringBuilder sb = new StringBuilder();
sb.append("https://graph.facebook.com/oauth/authorize?client_id=");
sb.append(getOauthClientId());
sb.append("&target=_top");
sb.append("&redirect_uri=");
sb.append(getOauthRedirectLink());
sb.append("&scope=");
sb.append(facebookPermissions);
System.out.println(sb.toString());
return new URL(sb.toString());
尝试2
StringBuilder sb = new StringBuilder();
sb.append("https://graph.facebook.com/oauth/authorize?client_id=");
sb.append(getOauthClientId());
sb.append("&redirect_uri=");
sb.append(getOauthRedirectLink());
sb.append("&scope=");
sb.append(facebookPermissions);
sb.append("&target=_top");
System.out.println(sb.toString());
return new URL(sb.toString());
我的目标是从后端触发此链接,而不是使用javascript来触发链接。
答案 0 :(得分:0)
简单方法:
URI.create(sb.toStrgin()).toURL();
正确的方式:
答案 1 :(得分:0)
java.net.URL
提供constructor,其中您可以String
添加URL
。
试试这个:
URL fbook = new URL("https://graph.facebook.com/oauth/");
StringBuilder sb = new StringBuilder();
sb.append("authorize?client_id=");
sb.append(getOauthClientId());
sb.append("&redirect_uri=");
sb.append(getOauthRedirectLink());
sb.append("&scope=");
sb.append(facebookPermissions);
sb.append("&target=_top");
URL n = new URL(fbook,sb.toString());