スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

初めてのライブラリいじり[Adobe AIRで動くTwitterクライアント作成の手がかり]の続き

初投稿から一ヶ月が過ぎ去ろうとしてます。
前回同様うざがられたくないためこっちにカキカキ



友達募集
http://twitter.com/#!/lllllYkeillll が本アカ
※フォローしてください!話しかけてください!!!11



----------------
------本題------
----------------
※プログラミング初心者が書いた記事です。間違ってても許して。

http://blog.doinet.co.jp/?eid=1031647様のところより、
>>調べてみると、数字で認証したときに、アクセスキーとアクセスのパスワードを取得しているようです。
>>これを使うと最初のtwitterのID・パスワードを入力しないで認証できます。

とのこと、

今日やりたいこと
-既存のライブラリを↑のブログ様を元に編集
-そのライブラリを利用して、SharedObjectを使い何回も認証作業をしなくて済むようにする。

1)ソースDL
GoogleCodeの↓からDL
http://code.google.com/p/twitter-actionscript-api/source/browse/
ブラウザで一個一個DLするのはダリィので、TortoiseSVNを使って一気にDL らくちん

2)Flash Builderとかで開く
「Flexプロジェクトを読み込み」で開く。 らくちん


3)対象のライブラリをイジる
OAuthTwitterConnection.asを探す。 いた。→ TwitterAPI/src/com/dborisenko/api/twitter/oauth/OAuthTwitterConnection.as
accessToken.keyとaccessToken.secretを探す。 →handleAccessTokenの中にいる。
とりあえず、Traceで実行時に表示させる。上記のブログ様と同じように↓な感じに。
例)
 case "oauth_token":
  accessToken.key = nameValue[1];
  trace("accessToken.key:" + accessToken.key);
  break;
 case "oauth_token_secret":
  accessToken.secret = nameValue[1];
  trace("accessToken.secret:" + accessToken.secret);
  break;


4)ライブラリの○○○○○
 コンパイル。
 というかビルドするだけ。

5)使う
 全部一緒なので、デモのやつと差し替えで動く。
 フォルダの「Libs」につっこむ、できあがった、なんたら.swcを。
 で、実行(デバッグ)すると、アクセスとーくんキーとアクセスとーくんシークレットがコンソールに表示される。
 例)
 [SWF] TwitterAIRDemo.swf - 2,686,461 バイト (圧縮後)
 accessToken.key:250000079-tkIIqaswderftgy7ujiklo0000000000o4
 accessToken.secret:gggg4gAi9tERvc999999999999999999999xxxxx
 

 な感じに。


6)キー利用
 さっきのこの二つの文字列を使うことにより、何度も認証しなくて済むようになるらしいので、
 サンプルプログラムを上記のブログ様が書いている通りにコピペして作ります。

 だけど、新しく作るのはよくわからんので、TwiterAIR(ryを利用します。


//private function authtest():void
protected function loadTweets():void
{

twitterApi.connection.setAccessToken("xxxxxxxxxxxxxhtRzFebYS4TKW8I1NtUXBvSo4", "bX4xxxxxxxxxxxxxxxxxxxxxxXRAKFpEMY9zaNc44");

var op:TwitterOperation = new VerifyCredentials();
var handler:Function = function (event:TwitterEvent):void
{

op.removeEventListener(TwitterEvent.COMPLETE, handler);
if (event.success)
{
trace("Credentials verified. User is: " + TwitterUser(event.data).screenName);
}
else
{
trace("Verification error. Twitter error message: " + event.data);
}
};
op.addEventListener(TwitterEvent.COMPLETE, handler);
twitterApi.post(op, TwitterAPI.POST_TYPE_ASYNC_STATIC, TwitterAPI.PRIORITY_HIGHEST);

}




/*
protected function loadTweets():void
{
status = "Loading tweets";
var op:TwitterOperation = new LoadHomeTimeline();
var handler:Function = function (event:TwitterEvent):void
{
op.removeEventListener(TwitterEvent.COMPLETE, handler);
if (event.success)
{
status = "Tweets loaded";
twitterStatuses = event.data as ArrayCollection;
}
else
{
status = "Loading error: " + event.data.toString();
}
};
op.addEventListener(TwitterEvent.COMPLETE, handler);
twitterApi.post(op);
}
*/

 TwitterAIRDemo.mxmlに書いてるところを下のように変更して実行(デバッグ)してあげる。
 でも、そのままだとうまく動いてくれないので、IMPORTを少し増やしてあげる。
例)
import com.dborisenko.api.twitter.commands.account.VerifyCredentials;
//import com.dborisenko.api.twitter.net.TwitterOperation;
import com.dborisenko.api.twitter.data.TwitterUser;



 すると、動く・・・! ハズ
 ※認証後、PINを入力したあと、コンソールのところに「Credentials verified. User is: llllYkeillllll」と表示されます。雰囲気で理解ですがさきほどのアクセスとーくんの2つのキーを使ってTwitterアカウントにアクセス出来た気がします。


7)SharedObjectに保存するようにライブラリを書き換えてあげる
 ここから自分が書いたソースばっかです≒結構間違ってる
 SharedObjectの使い方はこちらhttp://blog.studio23c.com/?p=597
 
 これ使って少しだけ書き換えるというか、関数を適当かつ適切に追加

 






参考URL一覧
http://livedocs.adobe.com/flex/3_jp/html/help.html?content=rsl_03.html
http://blog.doinet.co.jp/?eid=1031647
http://internet.newspoint.info/flash-platforma-primer-ispolzovaniya-twitter-api-biblioteki-na-air
http://code.google.com/p/twitter-actionscript-api/
スポンサーサイト

コメントの投稿

非公開コメント

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。