Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thinca/gas-feed
A library for Google Apps Engine to read RSS feeds.
https://github.com/thinca/gas-feed
feed-reader google-apps-script library rss-parser
Last synced: 8 days ago
JSON representation
A library for Google Apps Engine to read RSS feeds.
- Host: GitHub
- URL: https://github.com/thinca/gas-feed
- Owner: thinca
- License: zlib
- Created: 2018-05-27T04:10:34.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-12-01T02:35:15.000Z (about 3 years ago)
- Last Synced: 2025-01-06T19:32:56.487Z (16 days ago)
- Topics: feed-reader, google-apps-script, library, rss-parser
- Language: TypeScript
- Homepage: https://thinca.github.io/gas-feed/
- Size: 458 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE.txt
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Feed Reader Library for Google Apps Script
[![NPM Version][npm-image]][npm-url]
[![Test][test-ci-badge]][test-ci-action]
[![Lint][lint-ci-badge]][lint-ci-action]
[![Test Coverage][codecov-image]][codecov-url]
[![API document][doc-api-image]][doc-api-url]A library for Google Apps Engine to read ATOM feeds.
## Features
- Read ATOM feeds via [UrlFetchApp](https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app).
- Currently, ATOM support only.
- Store entries to Spreadsheet.
- A store is pluggable. Currently, `SpreadsheetStore` is only implemented.## Requirements
- [gas-webpack-plugin](https://github.com/fossamagna/gas-webpack-plugin)
## Setup
1. Install dependencies
```
$ npm install --save-dev webpack webpack-cli gas-webpack-plugin
$ npm install gas-feed
```2. Write `webpack.config.js`
```javascript
const GasPlugin = require("gas-webpack-plugin");module.exports = {
entry: "./src/index.js",
output: {
filename: "Code.js",
path: __dirname + "/built",
},
plugins: [
new GasPlugin(),
]
};
```3. Write code using `gas-feed`
```javascript
import {FeedReader, SpreadsheetStore} = require("gas-feed");function doGet(e) {
// ...
}// export for gas with gas-webpack-plugin
global.doGet = doGet;
```4. Make a `Code.js` via `webpack`
```
$ webpack
```5. Upload `built/Code.js`
Copy and paste the content of code simplify or use [`clasp`](https://developers.google.com/apps-script/guides/clasp).
## Usage
Here is a most simple usage.
```javascript
// Get parameters from PropertiesService.
const props = PropertiesService.getScriptProperties();
const FEED_URL = props.getProperty("FEED_URL");
const SPREADSHEET_ID = props.getProperty("SPREADSHEET_ID");
const SHEET_NAME = props.getProperty("SHEET_NAME");const store = new SpreadsheetStore(SPREADSHEET_ID, SHEET_NAME);
const reader = new FeedReader(WATCH_TARGET, store);const newlyFeeds = f.fetch();
// Do something for newlyFeeds...
reader.save();
```## License
[zlib License](LICENSE.txt)
## Author
thinca
[npm-image]: https://img.shields.io/npm/v/gas-feed.svg
[npm-url]: https://npmjs.org/package/gas-feed
[test-ci-badge]: https://github.com/thinca/gas-feed/workflows/Test/badge.svg
[test-ci-action]: https://github.com/thinca/gas-feed/actions?query=workflow%3ATest
[lint-ci-badge]: https://github.com/thinca/gas-feed/workflows/Lint/badge.svg
[lint-ci-action]: https://github.com/thinca/gas-feed/actions?query=workflow%3ALint
[codecov-image]: https://codecov.io/gh/thinca/gas-feed/branch/master/graph/badge.svg
[codecov-url]: https://codecov.io/gh/thinca/gas-feed
[doc-api-image]: https://img.shields.io/badge/doc-API-orange
[doc-api-url]: https://thinca.github.io/gas-feed/