我试图用Python中的OAuth1身份验证方法向Tweeter发出请求我设法用requests库来完成,但在Java上我使用放心。下面的代码不起作用,它返回未经授权:
Response response = given()
.headers(headerEmpty())
.auth()
.oauth(twitterSettings.getApiKey(), twitterSettings.getApiKeySecret(),
twitterSettings.getAccessToken(), twitterSettings.getAccessTokenSecret())
.spec(baseUrl)
.get("users/me")
.then()
.extract().response();
我上网看了看,我发现我可能需要使用Scribejava库,但不确定如何与休息相合并,确保我不懒惰,但一些帮助。
编辑:我添加了Scribe的依赖项,但仍然不起作用。
public static Headers headerEmpty() {
Header contentType = new Header("Content-Type", "application/json");
Header acceptType = new Header("Accept", "*/*");
List<Header> headerList = new ArrayList<>();
headerList.add(contentType);
headerList.add(acceptType);
return new Headers(headerList);
}
1条答案
按热度按时间vxf3dgd41#
我认为问题是因为缺少标头。请尝试将此标头添加到上面的请求中:
为了准确地看到你传递的头文件,你可以像这样修改你的代码: