gpt4 book ai didi

java - 使用 soundcloud API 通过 Java EE 进行身份验证

转载 作者:行者123 更新时间:2023-12-01 13:48:19 26 4
gpt4 key购买 nike

我正在使用声音云 API ( https://github.com/soundcloud/java-api-wrapper ) 构建 JavaEE 服务器端应用程序。我无法使身份验证工作,我一定做错了什么。实际上,我可以在被 URI 重定向后立即发出请求,但是当我尝试使用 token 对用户进行身份验证时,它失败了。

我有 3 个 Servlet。它们都调用 testSC 类中的函数。

public class testSC {
public ApiWrapper wrapper;
testSC(){
System.out.println(URI.create("http://localhost:8080/Test/loginp"));
wrapper = new ApiWrapper("*****", "******", URI.create("http://localhost:8080/Test/loginp"), null);
}

public String loginStage1(){
URI uri = wrapper.authorizationCodeUrl(Endpoints.CONNECT, Token.SCOPE_NON_EXPIRING);

return uri.toString();
}

public Token loginStage2(String code) throws IOException{
return wrapper.authorizationCode(code);
}

public String getSC(Token to) {
wrapper.setToken(to);

try {

HttpResponse resp = wrapper.get(Request.to("me"));
HttpEntity entity = resp.getEntity();
String content = EntityUtils.toString(entity);
System.out.println(content);
out = content;

} catch (IOException e) {
e.printStackTrace();
}
return out;
}

}

我认为问题来自于 wrapper.setToken(to); 因为当我尝试使用

HttpResponse resp = wrapper.get(Request.to("search/suggest?q=toto"));

我有一个正确的回应。当我在控制台中输出 token 时,这是我得到的内容

Token{access='1-58925-4628866-9b917c45bdfba2f9', refresh='null', scope='null', expires=null}

最佳答案

我知道出了什么问题。我使用这个答案( SoundCloud Official Java ApiWrapper, requests with saved token get rejected with 401 )将 token 存储为两个字符串。但我使用的是不会过期的 token 。

当你在控制台输出你想要的token时:

Token{access='1-58925-4628866-7ec476b4b519dea0', refresh='null', scope='non-expiring', expires=null}

而不是:

Token{access='1-58925-4628866-7ec476b4b519dea0', refresh='null', scope='null', expires=null}

因此,当您构建 token 时,您必须指定:

String access = (String) session.getAttribute("access");
String refresh = (String) session.getAttribute("refresh");
Token t = new Token(access, refresh, "non-expiring");

关于java - 使用 soundcloud API 通过 Java EE 进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20175994/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com