Google Apps script(GAS)を使って、サイトの更新情報を取得出来るようになったのでメモ。
コードはこんな感じ。
[highlight_javascript]//rss,xmlから読み取り
var xml = UrlFetchApp.fetch(“ここにrssを配布するURLを入力”).getContentText();
var document = XmlService.parse(xml);
var entries = document.getRootElement().getChildren(“channel”)[0].getChildren(“item”);
var title = entries[0].getChildText(“title”);
var link = entries[0].getChildText(“link”);
var pubDate = entries[0].getChildText(“pubDate”);
Logger.log(title);
Logger.log(link);
Logger.log(pubDate);[/highlight_javascript]
UrlFetchApp.fetch でサイトから情報を取得する。定期的に実行させるとたまにエラーが出るので、tryで囲んでおくと良いかも。
XmlService.parseでXML形式にする?(「パースする」と言うらしい)
getRootElement().getChildren(“channel”)[0].getChildren(“item”)でXMLの要素の階層を下っていくイメージ。
entries[0].getChildText(“欲しい要素”)で変数に情報を入れる。0は最新の投稿の番号。全ての投稿を取得したかったら、entries.lengthを使ってForかなんかを回す。
[highlight_javascript]
For( var i = 0; I < entries.length(); i ++){
}
[/highlight_javascript]
こんな感じになります。
このコードを応用して、ツイッターbotで最新の投稿をリンク出来るようになりました。
今までHTMLから正規表現を使ってなんとかしようとしていました笑。
RSSを利用できるようになると色々活用できそうです。
参考にしたサイト→https://www.terakoya.work/gas-spreadsheet-get-xml-part1/