usakdsteen

ゆうさくですてぃーん

うおおおおお!やったじぇええええええええ!!

f:id:neetsdkasu:20170516104704p:plain

 

今日の午前3時半はからずっと・・・10時半までの7時間かかった!

辛かった・・・が何とかアプリ認証に成功したぞ!!わっはっは!!

 

手間取ったトラップ ... percent encoding

https://dev.twitter.com/oauth/overview/creating-signatures

↑これ見ながらシグネチャ作るコード書いてて(※このページの説明のAPIのURLが1.1になってるけどbase stringの生成から1.1ではなく1を使ってるのでそれも罠だった)

最初 System.Net.WebUtilityのUrlEncode()を使ったんだけど

エンコーディングされてない文字があるの気づいて

System.Uri.EscapeUriString()やらSystem.Uri.EscapeDataString()やらを使っても駄目で

何か国際化ドメインのIRIやらIDNやらがどうのこうのでググって.configファイル作るやらやっても駄目で

System.Web.HttpUtility.UrlEncode()やSystem.Web.HttpUtility.UrlPathEncode()を使ってみたけど駄目で

結局 RFC 3986 に準拠してない感じだったので、エスケープされない、!'*() の5文字を変換するコードを入れて、エンコーディングはパスした・・・

 

 

手間取ったアホなバグ ...

テストコードでUtility.signatureの引数のsigning key生成に渡す文字列を間違ってたせいで

小一時間くらい何のバグか悩んだ・・・

HMACSHA1の使い方を真っ先に怪しんだが全然違っててそれで時間溶けたわけ

マヌケすぎ・・・

 

 

少し手間取ったトラップ ... access_token API

https://dev.twitter.com/oauth/reference/post/oauth/access_token

OAuthに渡すパラメータ分かってなかったのでこれで半時くらい死んだ

一度 https://oauth.net/core/1.0/#auth_step3  を見たけど

ちゃんと読んでなかったのでうまくいかず・・・

最初はrequest_token APIと同じパラメータにoauth_verifierにPIN添えてやってうまく行かず

OAuthのページ見てcallbackのパラメータ要らないジャン!と削除してうまくゆかず・・・

件のページを目を凝らして眠気に耐えながら見てたらoauth_tokenというパラメータに気づいて・・・

それでやっと成功した、認証成功した!!アクセストークンゲットできました!!

 

今日はここまでしかやってない、ここまでで7時間も費やしたのだ・・・

うおおおおおおおおおおおおおおおおおおおおおおおおおお!!!!!!!!

疲れた

 

以上

 

 

【練習】ツイッターで認証やってみた(仮コード)