このページを参考にC#からTwitterにつぶやいてみたいと思います。
blog.clock-up.jp
パッケージマネージャーコンソールから、ライブラリを導入します。
パッケージマネージャーコンソールは下の図のように開きます。
すると、↓のようなコンソールが開くので、
Install-Package CoreTweet
と入力します。
次にAPIキーを入手します。
twiiterアカウントに電話番号の登録が必要になります。
apps.twitter.com
ライブラリの登録をして、
using CoreTweet; using System.Diagnostics;
ボタンクリックイベントを作ります。
最終的にはPincode入力用のFormを作りますが、今は簡易的にMessageBoxを出して、
その間に、Twiiterの認証画面を通過して、直接プログラムを書き換えてPincodeを通しています。
なんか、あらかじめブラウザでTwiiterにLogInしていないと、通らない???
private void button1_Click(object sender, EventArgs e) { var session = OAuth.Authorize("*********", "*********"); //("入手した api_key", "入手した api_secret"); Process.Start(session.AuthorizeUri.AbsoluteUri); MessageBoxShow("Get Pincode."); //ここでPincodeの入力待ち var pincode"123234545676"; //ここを書き換える //トークン取得 var tokens = OAuth.GetTokens(session, pincode); try { tokens.Statuses.Update(status => "hogehoge"); } catch { MessageBox.Show("Error"); } }
で、APIは通ったようでプログラムはErrorがないのにタイムラインにつぶやきが更新されないのはなぜ???
<5/9更新>
APIのAccess LevelがReadになっていて、Write権限がなかったため、書き込みができなかったらしい。
Read and writeに設定したはずだが、画面上ではRead and writeと出ていても、Read Onlyになっていることがあるようだ。
一度 Read, Write and Access direct messagesに変更して保存し、Read and writeに戻したら有効になった。
<5/25更新>
APIが通っても一度しかTweetが成功しないことが続いた。数時間経過後に再びTweetができるのだが、どうやら同じ内容を連続してTweetしようとすると、Twitter側から弾かれるらしい。