概要
ASP.NETで書いてるコードで躓いたので原点回帰でもないですけど
CoreTweetの公式Tutrialを必要そうなところだけちょろっとやったのでメモ
やったこと
- OAuth認証
- AccessTokenとAccessTokenSecretの取得(認証の永続化?)
- ツイート
- 任意のツイートに返信(リプライ)
目次
環境
- Win 10 Pro
- VisualStudio 2015 UP3
- .NET Framework 4.6
- CoreTweet v0.8.2.404
ソース
https://github.com/Lycheejam/CoreTweetTest 🔗
前提
TwitterAPIキーの取得
ConsumerKeyとConsumerSecret。
CoreTweetの入手
普通にNuGetから入手
CoreTweet Tutorial
こちらのクイックチュートリアルをかいつまんでやりました。
OAuth認証
var s = OAuth.Authorize("Consumer_key", "Consumer_Secret");
//PINコードを取得するためのURLを発行
Console.WriteLine("access here: {0}", s.AuthorizeUri);
//PINコードを入力
var pin = Console.ReadLine();
var t = s.GetTokens(pin);
//テストツイート
t.Statuses.Update(status => "CoreTweet Tutorial hello");
そしたらトークンが生成されるのでツイートされる。
メモ:Read-only application cannot POST
初っ端にRead-only application cannot POST
って例外がスローされた
Twitter APIのパーミッションがおかしいらしいがちゃんと「Read & Write」になっていた。
念の為、パーミッションの更新を掛けてやるとでなくなった。
参考:http://koni.hateblo.jp/entry/2016/05/11/164552 🔗
AccessTokenとAccessTokenSecretの取得
いちいちPINコードを入力していたはアホらしいのでAccessToken
とAccessTokenSecret
を取得して
これがあれば何でもできる状態にする。
上記のコード実行時に続けて下記のコードも実行する。
Console.WriteLine("AccessToken:{0}",t.AccessToken);
Console.WriteLine("AccessTokenSecret:{0}", t.AccessTokenSecret);
コンソール画面にAccessToken
とAccessTokenSecret
が出力されるのでメモっておく。
AccessTokenとAccessTokenSecretを使用してTokenを作成
先程取得したAccessToken
とAccessTokenSecret
を使ってTokenを生成
ついでにリプライツイートも飛ばしてみる。
var t = Tokens.Create("Consumer_key",
"Consumer_Secret",
"AccessToken",
"AccessTokenSecret");
//PINコード無しでツイートできる。
var res = t.Statuses.Update(status => "CoreTweetReplyTest");
//リプライツイートのテスト
res = t.Statuses.Update(status => "Reply Test1", in_reply_to_status_id => res.Id);
res = t.Statuses.Update(status => "Reply Test2", in_reply_to_status_id => res.Id);
参考
- https://github.com/CoreTweet/CoreTweet 🔗
- http://coretweet.github.io/docs/index.html 🔗
- https://syncer.jp/Web/API/Twitter/REST_API/ 🔗
雑感
とりあえずメモ程度に
ASP.NETで書いてるコードだとリプライ先(メンション先?)が変わらなくてなんでだー?って躓いてたんですが
これで書いてるコードがおかしいのが確定したので良かったです。