CNN Content Retriever
A package designed to wrap Apple News's Push API
- [createReference]
- [deleteArticle]
- [deleteReference]
- [getArticle]
- [getChannel]
- [getChannelArticles]
- [getSection]
- [getSections]
- [notificationPost]
- [search]
- [sendArticle]
- [sendRequest]
- [updateReference]
Requirements
Read these "requirements" as "only tested with".
Install
$ npm install --save --save-exact cnn-antools-push-api
The --save-exact
is up to you. We recommend saving exact versions.
Ruby 2.1.2p95+
I will be requeired that the calling application have the apple ruby papi client installed
Usage
This is intended to be used as a dependency in a larger application. Refer to
the the below example and the real example.js, that you
can run with node example/example.js
.
'use strict';
const PushApi = require('cnn-antools-push-api'),
pushApi = new PushApi('<channelId>', '<apiKeyId>', '<apiKeySecret>', 'https://news-api.apple.com', '</path/to/papi/>'),
articleData = {
articleId: 'articleId of existing article or undefined',
revision: 'revision id is this is update or undefined',
articleStatus: '<add or update>',
savePath: '<local directory Path for folder that holds the article.json>',
sectionIds: '<sectionId>,<sectionId>,...',
isCandidateToBeFeatured: false,
isDevelopingStory: false
};
pushApi.sendArticle(articleData)
.then((stdout) => {
console.log(`This is the published article ${stdout}`);
})
.catch((err) => {
console.log(`some Problem happened: ${err}`);
});
pushApi.deleteArticle('<articleId').then((result) => {
console.log(`Article deleted: ${result}`);
}).catch((result) => {
console.error(`DELETE article error: ${JSON.stringify(result.error)}`);
console.error(`DELETE article body: ${result.body}`);
});
});
ESDoc Documentation
You can generate and view the docs locally with the commands below. The open
command will only work on MacOS.
$ npm run generate-docs
$ open docs/index.html
NPM scripts
generate-authors
- Generates AUTHORS.md.generate-changelog
- Generates output to put in CHANGELOG.md.generate-coverage
- Generates a code coverage report in /coverage
.generate-docs
- Generates ESDoc documentation in /docs
.test
- Runs all tests.update-apply
- Updates package.json with dependency updates.update-check
- Outputs if any dependency updates are needed.
Environment variables
DEBUG=cnn-antools-push-api:*
- Set to enable visible
debug logging to console.
Developer notes
-
Always develop on the node version specified in the .nvmrc file.
If nvm is used typing nvm install
in the terminal will insure the correct version is used.
-
Contributors should be familiar with the Contributors Guide
-
Collaborators should be familiar with the Collaborator Guide
-
The current Project Owner (PO) of this project is Alex Sover
(@dsover).
Licensing
See LICENSE.md for details.
♥︎ Make good art - Neil Gaiman