
昨日のツイートをまとめてはてなブログにポストする(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キー」)入力。

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

これで作成してるのが

昨日の俺なにしてた
ツイートまとめておくとこ
ってわけ! なんかもっと楽にしたいなあ~(毎朝実行しないといけない)
