gpt4 book ai didi

java - twitter4j getOauthAccessToken 给出异常

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:36:31 26 4
gpt4 key购买 nike

我正在尝试在我的应用引擎项目中使用 twitter4j 获取用户的访问 token 。我的代码在下面

    HttpSession session = req.getSession();
String tokenCopy = (String) session
.getAttribute(Constants.TOKEN_SESSION_KEY);
String tokenSecretCopy = (String) session
.getAttribute(Constants.TOKENSECRET_SESSION_KEY);

String oauth_token = req.getParameter("oauth_token");
//The above is the same as the tokenCopy, verified by printing.
String oauth_verifier = req.getParameter("oauth_verifier");

Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(Constants.CONSUMER_KEY,
Constants.CONSUMER_SECRET);

String extraHTML = "NOTHING\n";

try {
AccessToken accessToken;
accessToken = twitter
.getOAuthAccessToken(tokenCopy, oauth_verifier);
// accessToken = twitter.getOAuthAccessToken(oauth_verifier);
// accessToken = twitter.getOAuthAccessToken();

String accessTokenStr = accessToken.getToken();
String accessTokenSecret = accessToken.getTokenSecret();
extraHTML = "<p>accessToken = " + accessTokenStr
+ ", accessTokenSecret = " + accessTokenSecret + "</p>\n";

// TODO latertwitter.setOAuthAccessToken(accessToken);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
extraHTML = "<pre>" + e.getMessage() + "</pre>\n";
}

可悲的是,当我的代码运行时,我总是得到异常

401:Authentication credentials (https://dev.twitter.com/docs/auth) were missing or
incorrect. Ensure that you have set valid conumer key/secret, access token/secret,
and the system clock in in sync.

我知道我的 CONSUMER_KEYCONSUMER_SECRET 是正确的(我用它们创建了 Twitter 身份验证 URL,效果很好)。我在这里错过了什么?我是否应该将其他内容传递给对 getOAuthAccessToken() 的调用?

谢谢。

最佳答案

我正在使用 RequestToken 对象,而不是 String,其他一切看起来都一样。

我的意思是,当我准备身份验证 url 时,我正在执行以下操作:

RequestToken requestToken = twitter.getOAuthRequestToken(callbackUrl);
session.setAttribute(Constants.TOKEN_SESSION_KEY, requestToken);

而不是代码的第 2 行,它将是:

RequestToken tokenCopy = (RequestToken) session.getAttribute(Constants.TOKEN_SESSION_KEY);

其他一切看起来都是正确的。

关于java - twitter4j getOauthAccessToken 给出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7302642/

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