skimemo


skimemo - 日記/2016-04-29/CoreTweetで認証する方法の補足 の変更点


#blog2navi()
*CoreTweetで認証する方法の補足 [#h7d06d7b]

CoreTweetで認証する方法は一杯書いてあるんですけど、PIN CODEを使った認証の後、tokenをどう保存するかで妙につまづいたのでメモメモφ(.. )。~
~
Twitter APIを使用するためのtokenを取得するのに必要なのは以下の4つ。
Twitter APIを使用するために必要なのは以下の4つ。
+ consumerKey
+ cosumerSecret
+ accessToken
+ accessSecret

で、これらを取得する手順は以下の通り。
** consumerKey, cosumerSecret [#w6deec80]
検索するといっぱい出てきますのでそちらで(^^;)。
** accessToken, accessSecret [#i0bda4c3]
まずは認証URLを取得してブラウザで開かせます。~
#code(CSharp){{
string consumerKey = "{コンシューマキー}";
string cosumerSecret = "{コンシューマシークレット}";
OAuth.OAuthSession session = CoreTweet.OAuth.Authorize(consumerKey , cosumerSecret );   // このセッションを使ってtoken取得する
Uri uri = session.AuthorizeUri;
// ブラウザ開く
System.Diagnostics.Process.Start(uri .ToString());
}}

ブラウザを開いてユーザーがPIN CODEをどこかに入力してくれたらそれをSettings経由で受け取って、必要な情報を取り出します。sessionは先ほど作った物を使います。
#code(CSharp){{
Tokens token = session.GetTokens(Properties.Settings.Default.PIN_CODE);
Properties.Settings.Default.ACCESS_TOKEN = token.AccessToken;  // これが必要!取っておく。
Properties.Settings.Default.ACCESS_TOKEN_SECRET = token.AccessTokenSecret;  // これが必要!取っておく。
Properties.Settings.Default.TWEET_ID = token.ScreenName;  // 別に無くても良いけど
}}

そしたら以降はこれでtimelineが取れます。
#code(CSharp){{
string consumerKey = "{コンシューマキー}";
string cosumerSecret = "{コンシューマシークレット}";
string access_token = Properties.Settings.Default.ACCESS_TOKEN;
string access_token_secret = Properties.Settings.Default.ACCESS_TOKEN_SECRET;
CoreTweet.Tokens tokens = CoreTweet.Tokens.Create(consumerKey , cosumerSecret , access_token, access_token_secret);
IEnumerable<Status> timeline = tokens.Statuses.HomeTimeline();
}}

#htmlinsert(twitterbutton.html)
RIGHT:Category: &#x5b;[[CSharp>日記/Category/CSharp]]&#x5d; - 05:19:04
----
RIGHT:&blog2trackback();
#comment(above)
#blog2navi()