IT初心者です。説明におぼつかない点はご容赦ください。
前提・実現したいこと
Google alertでメールに送信されるものを、RSSフィードとして受信し、スプレッドシートに一覧化したい。
発生している問題・エラーメッセージ
タイトルに張り付いている、urlが取得できない。
該当のソースコード
gas
1function parseXml() { 2 var url = 'GoogleアラートのrssフィードのURL'; 3 var xml = UrlFetchApp.fetch(url).getContentText(); 4 var document = XmlService.parse(xml); 5 var root = document.getRootElement(); 6 var atom = XmlService.getNamespace('http://www.w3.org/2005/Atom'); 7 var entries = root.getChildren('entry', atom); 8 9 var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet() 10 11 for (var i = 0; i < entries.length; i++) { 12 var title = entries[i].getChild('title',atom).getText(); 13 var link = entries[i].getChild('link',atom).getText(); //←ここにリンク先のURLが入ってほしい。 14 var published = entries[i].getChild('published',atom).getText(); 15 var updated = entries[i].getChild('updated',atom).getText(); 16 var content = entries[i].getChild('content',atom).getText(); 17 sheet.appendRow([title, link, content, published, updated]); 18 } 19} 20
試したこと
上のコードではlinkが入るはずのセルは空欄になります。
GoogleアラートのRSSを開くと、1つの記事に対して以下のような画面になります。
xmlの知識が皆無なので、よくわからないのですが、「<link href=~」の部分は「entries[i].getChild('link',atom).getText()」で取得できない理由がわかりません。
xml
1<entry> 2<id>tag:google.com,2013:googlealerts/feed:8859522824328475858</id> 3<title type="html">フリーのメディアセンターアプリ「Kodi 19.0 "Matrix"」が正式公開</title> 4<link href="https://www.google.com/url?rct=j&sa=t&url=https://forest.watch.impress.co.jp/docs/news/1307896.html&ct=ga&cd=CAIyHDgxMzI2NjVjMDU2ODZkNTk6Y28uanA6amE6SlA&usg=AFQjCNEubQtbI1rHbHe849uwLjC2BxpA_Q"/> 5<published>2021-02-22T04:52:30Z</published> 6<updated>2021-02-22T04:52:30Z</updated> 7<content type="html">フリーのメディアセンターアプリ「Kodi 19.0 "Matrix"」が正式公開. ライブラリの管理やビデオ再生を強化。「<b>Python</b> 2」から「<b>Python</b> 3」への移行も ...</content> 8<author> 9<name/> 10</author> 11</entry>
以上です。
大変お手数ですが、ご指摘お願いします。
あなたの回答
tips
プレビュー