昨日のツイートをまとめてはてなブログにポストする(PAD)ー2ー

昨日のツイートをまとめてはてなブログにポストする(PAD)ー1ー
こちらでTwitterの過去ログからはてなブログにインポートする話を書きました。その後、毎日増えていくツイートを、毎度過去ログダウンロードして……は非現実的です。で、ブラウザを通さずデータだけ取得してうんぬん、となると有料のAPIを使う必要…

なかなか続きを書けないでいたらTwitterの仕様が変わったり、忙しくなって来たりしてるんで、さらっと終わらすw

前回のPower Shell script実行後、指定日のツイートがあれば[ツイートのURL]をカンマ区切りのテキストで返してくるので、カンマで区切ってリストに登録、指定日時の間繰り返す。

指定日のツイートの取得が終わると空白が返ってくるので、URLリストの重複を削除してソートする(ツイート順になる、ハズ)。

29 重複削除とソート。

# PADで改行結合した変数をヒアドキュメントで安全に受け取る
$rawString = @"
%urlList%
"@

# 空白行の除外、前後の空白削除、重複排除、ソート
$arr = $rawString -split '\r?\n' |
       Where-Object { ![string]::IsNullOrWhiteSpace($_) } |
       ForEach-Object { $_.Trim() } |
       Select-Object -Unique |
       Sort-Object

# PADへ結果を戻す(Write-Outputの結果がPADの %PowershellOutput% 変数に格納される)
Write-Output $arr

30 改行を入れている。

$text = "%PowershellOutput%"
Write-Output (($text -split '\r?\n').Count - 1)

31でブログの投稿時間を設定(前日の23:59:59)。

32 はてなブログに投稿する形を作っている。

<?xml version="1.0" encoding="utf-8"?>
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app">
  <title>%UserInput%のツイート %PowershellOutput2%件</title>
  <content type="text/plain"><![CDATA[%PowershellOutput%]]></content>
  <category term="%name%" />
  <published>%listPostData%</published>
  <updated>%listPostData%</updated>
  <app:control>
    <app:draft>no</app:draft>
  </app:control>
</entry>

33 はてなブログに投稿。

詳細にHTTP認証があるのでチェックして、はてなブログのはてなIDとパスワード(アカウント設定 – はてなブログ の「APIキー」)入力。

ツイートが指定日より新しい間の処理になる部分。

これで作成してるのが

昨日の俺なにしてた
ツイートまとめておくとこ

ってわけ! なんかもっと楽にしたいなあ~(毎朝実行しないといけない)

タイトルとURLをコピーしました