PowerShellでTwitter APIをたたいてみた
今日は,PowerShell でTwitter APIをたたいてみた.PowerShellは,.NET frameworkがそのまま使えるので,とても強力なシェル/スクリプティング環境である.
例によって,フォローしている人のリストと,フォロワーのリストを表示するスクリプトを書いてみた.まだまだ初心者なので,コードは汚いが,それでもかなりすっきり書けるのではないかと思う.
PowerShellの勉強のため,"Windoes PowerShell In Action"を購入した.と,アマゾンを確認したら,改訂版が近日発売とのこと.とてもいい本なので,まあいいか.この本のいいところは,「どうすればいいか」が書かれているだけでなく,「なぜそうなっているか」まで書かれているところだ.
例によって,フォローしている人のリストと,フォロワーのリストを表示するスクリプトを書いてみた.まだまだ初心者なので,コードは汚いが,それでもかなりすっきり書けるのではないかと思う.
function GetURLContent($url) {
  $webReq = [Net.HttpWebRequest]::Create($url)
  $webReq.Method = "GET"
  $webRes = $webReq.GetResponse()
  $sr = New-Object IO.StreamReader($webRes.GetResponseStream(), $webRes.ContentEncoding)
  $content = $sr.ReadToEnd()
  $sr.Close()
  $webRes.Close()
  
  $content
}
function PrintSummary($content) {
  $doc = [xml] $content
  $userList = $doc.GetElementsByTagName("user")
  $numUsers = $userList.Count
  for ($i = 0; $i -lt $numUsers; $i++) {
    $node = $userList.Item($i)
    $id = $node.SelectNodes("id").Item(0).FirstChild.Value
    $screenName = $node.SelectNodes("screen_name").Item(0).FirstChild.Value
    
    "" + $id + ":" + $screenName
  }
}
"[Friends]"
PrintSummary(GetURLContent("http://twitter.com/statuses/friends/haoka.xml"));
"[Followers]"
PrintSummary(GetURLContent("http://twitter.com/statuses/followers/haoka.xml"));
PowerShellの勉強のため,"Windoes PowerShell In Action"を購入した.と,アマゾンを確認したら,改訂版が近日発売とのこと.とてもいい本なので,まあいいか.この本のいいところは,「どうすればいいか」が書かれているだけでなく,「なぜそうなっているか」まで書かれているところだ.
コメント