「TwitterAPIライブラリ」の編集履歴(バックアップ)一覧はこちら

TwitterAPIライブラリ」(2011/07/01 (金) 00:01:59) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

**TwitterAPI+C# BASIC認証のライブラリが使えなくなったので、OAuth認証のライブラリをボチボチと製作。 C#やVB.NETから使えるようにする。 C#2010EEで開発。ただし、.NET3.5にする。(そのうち、[[DynamicJson>>http://dynamicjson.codeplex.com/]]が使ってみたいので.NET4.0にするかも。) APIの呼出はJSON形式にする。 とりあえず、ProfileのImageUploadとGeoAPI以外は完成。 **参考サイト [[Twitter API Documentation(公式:英語)>>http://dev.twitter.com/doc]] [[Twitter API 仕様書 (勝手に日本語訳シリーズ)>>http://watcher.moe-nifty.com/memo/2007/04/twitter_api.html]]英語で理解できないとこは参考にさせてもらってます。 [[貧脚レーサーのサボり日記(C#|TwitterのAPIを叩くライブラリを作ってみた)>>http://blogs.dion.ne.jp/anis7742/archives/7855038.html]]Basic認証で参考にさせてもらったサイト [[nojimaの日記(C#でOAuthでTwitter)>>http://d.hatena.ne.jp/nojima718/20100129/1264792636]]OAuth認証はこちらを参照。 **仕様 C#ソースから、Doxygenでドキュメント化。 [[Doxygenで作成したドキュメント>>http://okura.gozaru.jp/oauth/twitter/main.html]] 開発環境は、C#2010EE。ただし、.NET3.5を使用。 **使い方 Twitterのサイトhttp://twitter.com/apps/newでアプリ情報を登録して、Consumer keyとConsumer secretもらっておいてください。 OAuthTwitetr.dllをC#やVBのプロジェクトに「参照を追加」して使用してください。 ***HomeTimeline ****VB (VB2010EE) #highlight(VB){ ' Timelineの表示 Dim tl As New TimelineAPI Dim statuses As List(Of Status) = tl.HomeTimeline(oauth) For Each status As Status In statuses Console.WriteLine(status.User.Name) Console.WriteLine(status.Text) Console.WriteLine("") Next } ****C# (C#2010EE) #highlight(C#){{ // Timelineの表示 TimelineAPI tl = new TimelineAPI(); List<Status> statuses = tl.HomeTimeline(oauth); foreach (Status status in statuses) { Console.WriteLine(status.User.Name); Console.WriteLine(status.Text); Console.WriteLine(""); } }} ***非同期HomeTimeline ****VB (VB2010EE) #highlight(VB){ ' 非同期でTimeline() ' イベント登録 AddHandler Utility.DownloadCompleted, AddressOf Download_Completed Dim tl As New TimelineAPI tl.HomeTimelineAsync(oauth) ' 非同期キャンセル 'Utility.CancelAsync() 'イベント Private Sub Download_Completed(ByVal sender As Object, ByVal e As TwitterEventArgs) If e.Cancelled Then Console.WriteLine("キャンセルされました。") ElseIf Not (e.Error Is Nothing) Then Console.WriteLine("エラー:{0}", e.Error.Message) Else Console.WriteLine("非同期") For Each result As Object In e.ResultObject If TypeOf result Is Status Then Console.WriteLine(result.User.Name) Console.WriteLine(result.Text) Console.WriteLine("") End If Next End If End Sub } ****C# (C#2010EE) #highlight(C#){{ // 非同期でTimeline() // イベント登録 Utility.DownloadCompleted += new Utility.TwitterEventHandler(Utility_DownloadCompleted); TimelineAPI tl = new TimelineAPI(); tl.HomeTimelineAsync(oauth); // 非同期キャンセル //Utility.CancelAsync(); //イベント static void Utility_DownloadCompleted(object sender, TwitterEventArgs e) { if (e.Cancelled) { Console.WriteLine("キャンセルされました。"); } else if (e.Error != null) { Console.WriteLine("エラー:{0}", e.Error.Message); } else { Console.WriteLine("非同期"); if (e.ResultObject.GetType() == typeof(List<object>)) { foreach (var result in (List<object>)e.ResultObject) { if (result.GetType() == typeof(Status)) { Console.WriteLine(((Status)result).User.Name); Console.WriteLine((result as Status).Text); Console.WriteLine(""); } } } } } }} ***Update ****VB (VB2010EE) #highlight(VB){ ' Tweet Dim tw As New TweetsAPI Dim update As Status = tw.Update(oauth, "つぶやき") Console.WriteLine("Tweet:" + update.Text) } ****C# (C#2010EE) #highlight(C#){ // Tweet TweetsAPI tw = new TweetsAPI(); Status update = tw.Update(oauth, "つぶやき"); Console.WriteLine("Tweet:" + update.Text); } **ダウンロード Version 0.9.5 &ref(OAuthTwitterAPI_0_9_5.zip) 古いVersionを使っている人がいたら、、、 結構メソッド名を変えてるので、使えるうちは古いほうがいいかもです。 **更新履歴 : Version 0.9.0 (2010/10/08) | -追加 OAuth -追加 TimelineAPI -追加 TweetsAPI : Version 0.9.1 (2010/10/13) | -追加 UsersAPI -追加 TrendAPI -追加 SearchAPI : Version 0.9.2 (2010/10/23) | -追加 ListsAPI -追加 DirectMessagesAPI -追加 FriendshipsAPI -追加 FriendFollowerAPI : Version 0.9.3 (2010/10/25) | -追加 AccountAPI(ImageUpload関係を除く) -追加 FavoritesAPI -追加 NotificationsAPI -追加 BlockAPI -追加 SpamAPI -追加 SavedSearchAPI -追加 LegalAPI -追加 HelpAPI -変更 非同期の戻り値をObjectに変更 : Version 0.9.4 (2010/11/29) | -修正 Mentions(アドレスの間違い) : Version 0.9.5 (2011/06/04) | -追加 GeoAPI -修正 TwitterのDocumentにあわせてメソッド名を変更。 **まとめ すべてJSONで処理することにより、全面的にデータ部分の書き換え。 API側でアドレスに変数を入れるものを撤廃する方向のよう。(まだ一部残ってますが) Geo関係は、とにかくデータがまとまってない。 APIのVersionが2になってまとめてもらえるとありがたいな。 自分で使用するメソッド以外は、さらっと1度テストする程度なので、絶対バグが潜んでいるはず。 -不具合、要望、ご意見、ご感想等は[[Wiki(TOP)>http://www28.atwiki.jp/ers312b/]]からもしくは[[BLOG>http://d.hatena.ne.jp/Okura/]]のコメントなどへお願い致します。 ---- #right(){作成日時: 2009/07/07} #right(){更新日時:&update(format=Y/m/d)} #amazon2(468x60) #javascript(){ <script type="text/javascript" src="http://i.yimg.jp/images/analytics/js/ywa.js"></script> <script type="text/javascript"> var YWATracker = YWA.getTracker("1000102733542"); YWATracker.addExcludeProtocol("file:"); YWATracker.submit(); </script> <noscript> <div><img src="http://by.analytics.yahoo.co.jp/p.pl?a=1000102733542&js=no" width="1" height="1" alt="" /></div> </noscript> } #javascript(){{ <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> try { var pageTracker = _gat._getTracker("UA-755594-4"); pageTracker._trackPageview(); } catch(err) {}</script> }}
**TwitterAPI+C# BASIC認証のライブラリが使えなくなったので、OAuth認証のライブラリをボチボチと製作。 C#やVB.NETから使えるようにする。 C#2010EEで開発。ただし、.NET3.5にする。(そのうち、[[DynamicJson>>http://dynamicjson.codeplex.com/]]が使ってみたいので.NET4.0にするかも。) APIの呼出はJSON形式にする。 とりあえず、ProfileのImageUploadとGeoAPI以外は完成。 **参考サイト [[Twitter API Documentation(公式:英語)>>http://dev.twitter.com/doc]] [[Twitter API 仕様書 (勝手に日本語訳シリーズ)>>http://watcher.moe-nifty.com/memo/2007/04/twitter_api.html]]英語で理解できないとこは参考にさせてもらってます。 [[貧脚レーサーのサボり日記(C#|TwitterのAPIを叩くライブラリを作ってみた)>>http://blogs.dion.ne.jp/anis7742/archives/7855038.html]]Basic認証で参考にさせてもらったサイト [[nojimaの日記(C#でOAuthでTwitter)>>http://d.hatena.ne.jp/nojima718/20100129/1264792636]]OAuth認証はこちらを参照。 **仕様 C#ソースから、Doxygenでドキュメント化。 [[Doxygenで作成したドキュメント>>http://okura.gozaru.jp/oauth/twitter/main.html]] 開発環境は、C#2010EE。ただし、.NET3.5を使用。 **使い方 Twitterのサイトhttp://twitter.com/apps/newでアプリ情報を登録して、Consumer keyとConsumer secretもらっておいてください。 OAuthTwitetr.dllをC#やVBのプロジェクトに「参照を追加」して使用してください。 ***HomeTimeline ****VB (VB2010EE) #highlight(VB){ ' Timelineの表示 Dim tl As New TimelineAPI Dim statuses As List(Of Status) = tl.HomeTimeline(oauth) For Each status As Status In statuses Console.WriteLine(status.User.Name) Console.WriteLine(status.Text) Console.WriteLine("") Next } ****C# (C#2010EE) #highlight(C#){{ // Timelineの表示 TimelineAPI tl = new TimelineAPI(); List<Status> statuses = tl.HomeTimeline(oauth); foreach (Status status in statuses) { Console.WriteLine(status.User.Name); Console.WriteLine(status.Text); Console.WriteLine(""); } }} ***非同期HomeTimeline ****VB (VB2010EE) #highlight(VB){ ' 非同期でTimeline() ' イベント登録 AddHandler Utility.DownloadCompleted, AddressOf Download_Completed Dim tl As New TimelineAPI tl.HomeTimelineAsync(oauth) ' 非同期キャンセル 'Utility.CancelAsync() 'イベント Private Sub Download_Completed(ByVal sender As Object, ByVal e As TwitterEventArgs) If e.Cancelled Then Console.WriteLine("キャンセルされました。") ElseIf Not (e.Error Is Nothing) Then Console.WriteLine("エラー:{0}", e.Error.Message) Else Console.WriteLine("非同期") For Each result As Object In e.ResultObject If TypeOf result Is Status Then Console.WriteLine(result.User.Name) Console.WriteLine(result.Text) Console.WriteLine("") End If Next End If End Sub } ****C# (C#2010EE) #highlight(C#){{ // 非同期でTimeline() // イベント登録 Utility.DownloadCompleted += new Utility.TwitterEventHandler(Utility_DownloadCompleted); TimelineAPI tl = new TimelineAPI(); tl.HomeTimelineAsync(oauth); // 非同期キャンセル //Utility.CancelAsync(); //イベント static void Utility_DownloadCompleted(object sender, TwitterEventArgs e) { if (e.Cancelled) { Console.WriteLine("キャンセルされました。"); } else if (e.Error != null) { Console.WriteLine("エラー:{0}", e.Error.Message); } else { Console.WriteLine("非同期"); if (e.ResultObject.GetType() == typeof(List<object>)) { foreach (var result in (List<object>)e.ResultObject) { if (result.GetType() == typeof(Status)) { Console.WriteLine(((Status)result).User.Name); Console.WriteLine((result as Status).Text); Console.WriteLine(""); } } } } } }} ***Update ****VB (VB2010EE) #highlight(VB){ ' Tweet Dim tw As New TweetsAPI Dim update As Status = tw.Update(oauth, "つぶやき") Console.WriteLine("Tweet:" + update.Text) } ****C# (C#2010EE) #highlight(C#){ // Tweet TweetsAPI tw = new TweetsAPI(); Status update = tw.Update(oauth, "つぶやき"); Console.WriteLine("Tweet:" + update.Text); } **ダウンロード Version 0.9.5 &ref(OAuthTwitterAPI_0_9_5.zip) 古いVersionを使っている人がいたら、、、 結構メソッド名を変えてるので、使えるうちは古いほうがいいかもです。 **更新履歴 : Version 0.9.0 (2010/10/08) | -追加 OAuth -追加 TimelineAPI -追加 TweetsAPI : Version 0.9.1 (2010/10/13) | -追加 UsersAPI -追加 TrendAPI -追加 SearchAPI : Version 0.9.2 (2010/10/23) | -追加 ListsAPI -追加 DirectMessagesAPI -追加 FriendshipsAPI -追加 FriendFollowerAPI : Version 0.9.3 (2010/10/25) | -追加 AccountAPI(ImageUpload関係を除く) -追加 FavoritesAPI -追加 NotificationsAPI -追加 BlockAPI -追加 SpamAPI -追加 SavedSearchAPI -追加 LegalAPI -追加 HelpAPI -変更 非同期の戻り値をObjectに変更 : Version 0.9.4 (2010/11/29) | -修正 Mentions(アドレスの間違い) : Version 0.9.5 (2011/06/04) | -追加 GeoAPI -修正 TwitterのDocumentにあわせてメソッド名を変更。 **まとめ すべてJSONで処理することにより、全面的にデータ部分の書き換え。 API側でアドレスに変数を入れるものを撤廃する方向のよう。(まだ一部残ってますが) Geo関係は、とにかくデータがまとまってない。 APIのVersionが2になってまとめてもらえるとありがたいな。 自分で使用するメソッド以外は、さらっと1度テストする程度なので、絶対バグが潜んでいるはず。 -不具合、要望、ご意見、ご感想等は[[Wiki(TOP)>http://www28.atwiki.jp/ers312b/]]からもしくは[[BLOG>http://d.hatena.ne.jp/Okura/]]のコメントなどへお願い致します。 ---- #right(){作成日時: 2009/07/07} #right(){更新日時:&update(format=Y/m/d)} #amazon2(468x60) #javascript(){{ <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> try { var pageTracker = _gat._getTracker("UA-755594-4"); pageTracker._trackPageview(); } catch(err) {}</script> }}

表示オプション

横に並べて表示:
変化行の前後のみ表示:
記事メニュー
目安箱バナー