この記事で紹介している方法は 2010~2012年時点の方法です。Twitterの仕様変更等でこのコードでは動作しませんのでご注意ください。
System.Console.WriteLine("Input PIN Code:");
string PINCode = System.Console.ReadLine();
アプリケーション側はその間「INPUT PIN Code」の文字を表示しReadLine()で入力を待ちます。(今回はコンソールアプリとして実装しているため上記のロジックとなっていますが、Winformアプリの場合はアプリケーションを終了しなければ待機する処理は必要ありません。)static void Main(string[] args)
{
TwitterUtils tu = new TwitterUtils();
string url = tu.GetOAuthToken(Properties.Settings.Default.ConsumerKey, Properties.Settings.Default.ConsumerSecret);
Process.Start(url);
System.Console.WriteLine("Input PIN Code:");
string PINCode = System.Console.ReadLine();
string Token = "";
string TokenSecret = "";
tu.GetOAuthAccessTokenWithPIN(
PINCode,
Properties.Settings.Default.ConsumerKey,
Properties.Settings.Default.ConsumerSecret,
out Token, out TokenSecret);
System.Console.WriteLine("AccessToken: {0:s}", Token);
System.Console.WriteLine("AccessTokenSecret: {0:s}", TokenSecret);
System.Console.ReadLine();
}
static void Main(string[] args)
{
TwitterUtils tu = new TwitterUtils();
tu.UpdateStatusOAuth(string.Format("テストメッセージのポスト/{0:s}",DateTime.Now.ToString("HH:mm")),
Properties.Settings.Default.ConsumerKey,
Properties.Settings.Default.ConsumerSecret,
Properties.Settings.Default.AccessToken,
Properties.Settings.Default.AccessTokenSecret);
}
static void Main(string[] args)
{
bool inst = false
if (args.Length > 0) {
if (args[0] == "-install") {
//OAuthToken 取得処理
inst= true;
}
}
if(inst==false){
//通常の処理(BOTのロジック)
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using iPentec.Twitter;
namespace TwitterAuth
{
public partial class FormMain : Form
{
string ConsumerKey = "(ConsumerKey)";
string ConsumerSecret = "(ConsumerSeckret)";
TwitterUtils tu = new TwitterUtils();
public FormMain()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string url = tu.GetOAuthToken(ConsumerKey, ConsumerSecret);
System.Diagnostics.Process.Start(url);
}
private void button2_Click(object sender, EventArgs e)
{
string PINCode = textBox_PIN.Text;
string Token = "";
string TokenSecret = "";
tu.GetOAuthAccessTokenWithOAuthVerifier(
PINCode,
ConsumerKey,
ConsumerSecret,
out Token, out TokenSecret);
textBox_Output.Text += string.Format("AccessToken: {0:s}\r\n", Token);
textBox_Output.Text += string.Format("AccessTokenSecret: {0:s}\r\n", TokenSecret);
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using iPentec.Twitter;
namespace TwitterPost
{
public partial class FormMain : Form
{
string ConsumerKey = "(ConsumerKey)";
string ConsumerSecret = "(ConsumerSecret)";
string AccessToken = "(先のプログラムで取得したAccessToken)";
string AccessTokenSecret = "(先のプログラムで取得したAccessTokenSecret)";
public FormMain()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
TwitterUtils tu = new TwitterUtils();
tu.UpdateStatus(textBox_Tweet.Text+DateTime.Now.ToShortTimeString(),
ConsumerKey, ConsumerSecret, AccessToken, AccessTokenSecret, false);
textBox1.Text += "ツイート完了\r\n";
//request.Headers.Add("Authorization", GenerateAuthorizationHeader());
}
private void button2_Click(object sender, EventArgs e)
{
TwitterUtils tu = new TwitterUtils();
tu.UpdateStatus(textBox_Tweet.Text + DateTime.Now.ToShortTimeString(),
ConsumerKey, ConsumerSecret, AccessToken, AccessTokenSecret, true);
textBox1.Text += "ツイート完了\r\n";
}
}
}