忍者ブログ
8割ぐらい存在忘れてるので極稀に更新する可能性があります。 Twitter: @kurotoribb
[15]  [14]  [13]  [12]  [11]  [10]  [9]  [8]  [7
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

(´・ω・`)やあ 自分用のメモ兼ねてC#用Twitterライブラリについて少し書くよ。

今回(記事敵には前回とも言える)使ったのはTweetSharpってライブラリ使ったよ。
SyntaxHighlighterとかなんだとかってソースコードを見やすくしてくれるのもがあるらしいけどようわからんのでスルー。こんなのpreタグ使っときゃなんとかなるんすよ。
TwitterもC#もようわからんからOAuthとつぶやく部分だけ、API 1.1対応でつぶやき方が変わったみたいだからそれ関係のメモ。ぐぐって出てくるの全部古いのだから騙されまくったよママン…
長いから続きを読む押してください

拍手[4回]



ライブラリの説明なんてConsoleで十分だよね、ってことでCUI用の書き方で。まずはみんな大好きNuGetで適当にもらってくるだけ。
Install-Package TweetSharp
これをつっこむだけ、VS2010はProから、VS2012は最初からついてる。これ以外の導入方法はしらないから放置。
とりあえずOAuthの認証だけ

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TweetSharp;
using System.Diagnostics;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            TwitterService service = new TwitterService("ConsumerKey", "ConsumerSecret");
            OAuthRequestToken requestToken = service.GetRequestToken();
            Uri uri = service.GetAuthenticationUrl(requestToken);
            Process.Start(uri.ToString());
            string verifier = Console.ReadLine();
            OAuthAccessToken access = service.GetAccessToken(requestToken, verifier);
            service.AuthenticateWith(access.Token, access.TokenSecret);
        }
    }
}

詳しいことはようわからんけどstringでConsumerKeyとConsumerSecretをつっこんで、あとなんか適当にやるとurl吐き出してくれるからそれをprocess.startに投げちゃえばブラウザが開く
あとはもう適当にPIN入力させて、それをまた渡す。そしたらあとはもうoauth完了、すごい簡単。
だけどTwitterizerの時みたいにAccessToken,AcessTokenSecretをToString()しても"?"しか吐いてくれないから次からどうするかとかはわからないよ。解決してたよ。下の方よんでね

んでツイート、これに散々悩まされた。公式のExampleに書いてあったんだけど普通に見落としてた、恥ずかしい。
2.2以前の書き方だと

service.SendTweet("つぶやく中身")

コレでよかったみたいなんだけれど、2.3(API 1.1対応版)からこれじゃダメみたいで散々悩まされた(すごく悩まされたから二度言う)
で、2.3からはどうするかっていうと

service.SendTweet(new SendTweetOption{Status ="つぶやく中身"});

こうなる。一手間増えた感じ。つぶやく内容に関しては、stringであれば多分なんでもいいはず。
API 1.1に対応してもなんかデザインがどうとか決まりがあるらしい、そこはどうしようもないから無視。

おわり!!!

おわってませんでした。最後に書き足します。
自分用の糞プログラムをまた書いてて、ちょっとTwitterで遊ぼうと思って試しにaccess.Token.Tostring()とacces.TokenSecret.Tostring()をしてみたらあっさり吐いてくれた。
前の自分のやり方と一切替わってないんだけど、問題なく通ってた。バージョンが変わったのか、それとも自分がなにかをやらかしていたのか。そこらへんわからんけど、これで前の仕様に戻せるよ!どうせ誰も使ってないだろうけどな!

PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
カレンダー
09 2017/10 11
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
フリーエリア
最新コメント
最新トラックバック
プロフィール
HN:
くろとり
性別:
非公開
バーコード
ブログ内検索
P R
忍者アナライズ
design[dot×dot]
忍者ブログ [PR]