我创建了一个小型 REST API,它似乎工作得很好。我想使用 Twitter API 并显示一些推文。但是当我尝试这样做时,我的服务器会抛出错误。
尝试以下 URL 时,访问我的旧资源之一效果很好:http://localhost:8080/api-mashup-api/api/v1/foo/bar:
@GET
@Path("/bar")
@Produces(MediaType.TEXT_HTML)
public String print2() {
return "This should be printed if in foo/bar";
}
Run Code Online (Sandbox Code Playgroud)
但是如果我在http://localhost:8080/api-mashup-api/api/v1/foo/twitter尝试我的“twitter 方法” :
@GET
@Path("/twitter")
@Produces(MediaType.TEXT_HTML)
public String print5() {
//I have my real tokens here of course.
ClientIdentifier ci = new ClientIdentifier("clientID",
"ClientSecret");
OAuth2CodeGrantFlow flow = OAuth2ClientSupport
.authorizationCodeGrantFlowBuilder(ci,
"https://api.twitter.com/oauth2/token", "https://api.twitter.com/oauth2/token")
.scope("contact")
.build();
String finalAuthorizationUri = flow.start();
return "This is the bearer: " + finalAuthorizationUri.toString();
}
Run Code Online (Sandbox Code Playgroud)
它抛出以下错误:
HTTP Status 500 - org.glassfish.jersey.server.ContainerException: …Run Code Online (Sandbox Code Playgroud)