現在のバージョンは、
「Chrome 10.0.648.82 FP 10,2,154,12」
となっている。
10へ上がって、Chrome9で解決されたFlashの2つの大きな問題、
- FileReferenceを使った操作が失敗する
- Flash内のテキストボックスで日本語が入力できない
しかし大丈夫。どちらも問題なく、操作できた。
良かった(*´О`*)。
StringBuffer callbackURL = request.getRequestURL();
int index = callbackURL.lastIndexOf("/");
callbackURL.replace(index, callbackURL.length(), "").append("/twitterCallback.jsp");
twitter4j.Twitter twitter = new twitter4j.TwitterFactory().getInstance();
twitter4j.http.RequestToken requestToken = twitter.getOAuthRequestToken(callbackURL.toString());
request.getSession().setAttribute("twitter", twitter);
request.getSession().setAttribute("requestToken", requestToken);
response.sendRedirect(requestToken.getAuthenticationURL());
twitter4j.Twitter twitter = (twitter4j.Twitter) session.getAttribute("twitter");
twitter4j.http.RequestToken requestToken = (twitter4j.http.RequestToken) session.getAttribute("requestToken");
String verifier = request.getParameter("oauth_verifier");
if(verifier == null){
  //エラー処理
}else{
  twitter.getOAuthAccessToken(requestToken, verifier);
  session.removeAttribute("requestToken");
  response.sendRedirect(request.getContextPath()+ "/twitter.jsp");
}
twitter4j.Twitter twitter = (twitter4j.Twitter) session.getAttribute("twitter");
twitter4j.http.AccessToken accessToken = null;
try{
  accessToken = twitter.getOAuthAccessToken();
  twitter4j.conf.ConfigurationBuilder cb = new twitter4j.conf.ConfigurationBuilder();
  cb.setOAuthAccessToken(accessToken.getToken());
  cb.setOAuthAccessTokenSecret(accessToken.getTokenSecret());       
  cb.setMediaProvider("TWITPIC");
  cb.setMediaProviderAPIKey("TwitpicのAPI Key");       
  twitter4j.conf.Configuration conf = cb.build();
  twitter4j.media.ImageUpload upload = new twitter4j.media.ImageUploaderFactory(conf).getInstance();
  url = upload.upload(画像のjava.io.Fileオブジェクト);
}catch(twitter4j.TwitterException te){
  //エラー処理
}
twitter4j.Twitter twitter = (twitter4j.Twitter) session.getAttribute("twitter");
twitter4j.Status  status = twitter.updateStatus(text);