【发布时间】:2012-11-07 05:50:00
【问题描述】:
好的,我是 OAuth 的新手,我正在创建一个与 Twitter 集成的应用程序。
我正在使用 Twitter4j 并按照他们的说明进行操作。没有问题。
- 我可以要求用户授权我的应用
- 我用请求令牌换取访问令牌
- 一旦用户认可应用程序,我就会序列化对象
-
这是序列化的发生方式
FileOutputStream fos = getContext().openFileOutput(fileName, Context.MODE_PRIVATE); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(accessToken); oos.close();
因此,当需要再次使用访问令牌时,我只是简单地去除对象,然后分配给新的 Twitter 对象并调用状态更新,如下所示:
AccessToken twitterToken = objectDeserialization();
Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(twitterApiKey, twitterApiSecret);
twitter.setOAuthAccessToken(twitterToken);
twitter4j.Status status = twitter.updateStatus("This is sparta! :)");
问题是我收到了 401。
在我读到的所有地方,我都确信我不应该再经历整个代币交换的事情。我错了吗?
也许我应该简单地存储 Access Token 和 Access Token Secret 并从头开始创建一个新对象,而不是反序列化旧对象?
感谢您的帮助 :-)
【问题讨论】:
标签: android twitter-oauth twitter4j