2014/11/12(Wed) 09:42:25 編集(投稿者)
■No73877 (Azulean さん) に返信
> ■No73876 (kouma さん) に返信
>>tweetSharpのOauth認証で、PINコードを取得した後にテキストボックスで認証処理を行おうとすると
>>「Int32 型の値が大きすぎるか、または小さすぎます。」とのエラーが出ます。
>>
>>Long型に変換して格納したりと試しましたがやはりダメでした。
>
> 一度 int や long に変換するのはなぜでしょうか?
>
>
>> long code = long.Parse(textBox1.Text);
>> OAuthAccessToken access = service.GetAccessToken(requestToken, code.ToString());
>
> この 2 行に着目すると、そもそも string のまま渡せばいいのでは?と思わせるためです。
> GetAccessToken に渡っているのは string のようなので。
「Int32 型の値が大きすぎるか、または小さすぎます。」というエラーから、格納する際の値がオーバーしてしまうので、より大きい値を格納できるLong型で格納した後にString型に再度変換しようとしていました。
この考えに至ったのは、textBox1.textのStringをそのまま渡しても、同様のエラーが出たからです。
int型への変換に関しては、こちらでは変換処理のコードを一切書いてないので原因が分かりません。
private void button1_Click(object sender, EventArgs e)
{
String code = textBox1.Text;
OAuthAccessToken access = service.GetAccessToken(requestToken, code);
service.AuthenticateWith(access.Token, access.TokenSecret);
File.WriteAllText("./aT.atj", access.Token); //*.atjはアクセストークンをテキスト形式で保存する一時的処理用ファイル出力
path = Path.GetDirectoryName("./aT.atj");
File.WriteAllText("./aTS.atj", access.TokenSecret); //*.atjはシークレットトークンをテキスト形式で保存する一時的処理用ファイル出力
path = Path.GetDirectoryName("./aTS.atj");
textBox1.Clear();
MessageBox.Show("認証実行完了");
}