さて、私は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を取得していることです。
私が読んだところはどこでも、トークン交換のすべてをもう一度行うことはないと確信しています。私が間違っている?
たぶん、古いオブジェクトを逆シリアル化するのではなく、アクセストークンとアクセストークンシークレットを保存して、新しいオブジェクトを最初から作成する必要がありますか?
あなたの助けに感謝 :-)