RSS 피드에서 데이터를 가져오는 Google 작업
6286 단어 beginnersgooglecloudjavascript
그러나 제 경우에는 마음대로 사용할 수 있는 API가 없습니다. RSS 피드가 있으므로 이를 사용하여 반환할 수 있는 최신 기사를 가져오는 방법을 살펴보겠습니다.
따라하고 싶다면 this article을 시작점으로 사용할 수 있습니다.
RSS 데이터 가져오기 및 Google 작업 프롬프트
우리의 작업은 클라우드 기능을 기반으로 하므로 동적 데이터 가져오기를 추가할 수 있습니다.
웹후크
package.json
를 열고 먼저 XML을 구문 분석하는 데 필요한 패키지를 추가해 보겠습니다.{
"dependencies": {
// The other deps
"xml-js": "^1.6.11"
}
}
이제
index.js
파일로 이동하여 필요한 패키지 가져오기를 시작할 수 있습니다.여기에는 node-fetch API가 포함됩니다.
const fetch = require('node-fetch');
const convert = require('xml-js');
그런 다음 핸들 함수를 비동기 함수로 변환해야 합니다.
// Previous
app.handle('greeting', (conv) => {});
// New
app.handle('greeting', async (conv) => {});
그런 다음 RSS 피드를 가져오는 것으로 시작할 수 있습니다. 일반 텍스트로 파싱할 수 있습니다.
const response = await fetch('https://daily-dev-tips.com/sitemap.xml');
const text = await response.text();
여기에서 xml-js 패키지를 사용하여 읽을 수 있는 JSON 스트림으로 변환할 수 있습니다.
const jsonData = JSON.parse(convert.xml2json(text, { compact: true }));
Note: I'm using compact mode, which removes a lot of unneeded lines
그런 다음 첫 번째 항목의 데이터가 있는 새 카드를 추가할 수 있습니다.
conv.add(
new Card({
title: jsonData.feed.entry[0].title._cdata,
text: jsonData.feed.entry[0].content._cdata,
image: new Image({
url: 'https://daily-dev-tips.com/images/logo.png',
alt: 'Daily Dev Tips logo',
}),
})
);
함수를 저장하고 배포합니다. 배포가 완료될 때까지 기다렸다가 테스트합니다.
읽어주셔서 감사합니다. 연결합시다!
제 블로그를 읽어주셔서 감사합니다. 내 이메일 뉴스레터를 구독하고 Facebook에 연결하거나
Reference
이 문제에 관하여(RSS 피드에서 데이터를 가져오는 Google 작업), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/dailydevtips1/google-action-fetching-data-from-an-rss-feed-33ld텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)