PINを取得する

前回お手本通りの接続が出来なかったわけですがそもそもコンソールアプリで作っててPINを後入れしたらそりゃ繋がらないですよねっていう話。

画面でPINをいれさせるという選択肢もあったけど折角認証画面があるんだからそこから取得しませうって事でトライ。

 

コンソール上にwebBrowzerを貼り付けてそこに認証画面を展開

this.webBrowser1.Navigate(session.AuthorizeUri.AbsoluteUri);

 

webBrowzer内に新たにコードを読み込むたびにチェック

HtmlDocument doc = this.webBrowser1.Document;
var v0 = doc.GetElementById("code-desc");
if (v0 != null)
{
  string info = v0.InnerText;
  if (info != null || info.IndexOf("PIN") > 1)
  {
     string pin = doc.GetElementById("oauth_pin")

    .GetElementsByTagName("code")[0].InnerText;
  }
}

code-descっていうのがPINが記載されているブロックのID。

念のためその中にPINって文字列があったら認証が成功していると見なして取得処理を行う。

oauth_pin内のcode要素内はPINしかないのでべた書きで0番目を取ってくる。とりあえずこれでPINは取得できたので次はこれでtokenを取得する。