Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jgauth/MMM-GoogleTasks


https://github.com/jgauth/MMM-GoogleTasks

Last synced: about 2 months ago
JSON representation

Awesome Lists containing this project

README

        

# MMM-GoogleTasks

Module for the [MagicMirror²](https://github.com/MichMich/MagicMirror/) smart mirror.

Displays tasks from Google Tasks App

### Example
![Example of MMM-GoogleTasks](images/sample.png?raw=true "Example screenshot")

### Dependencies
1. The [Google Node.js client library](https://github.com/google/google-api-nodejs-client/): For authentication and Google Tasks API (v1). See Installation for instructions

## Installation
To install the module, use your terminal to:
1. Navigate to your MagicMirror's modules folder. If you are using the default installation directory, use the command:
`cd ~/MagicMirror/modules`
2. Clone the module:
`git clone https://github.com/jgauth/MMM-GoogleTasks.git`
3. Install Google API:
`npm install googleapis`

## Authentication Setup
Google Tasks API an authenticated OAuth2 client:
1. Go [here](https://developers.google.com/tasks/quickstart/nodejs), and click "Enable the Google Tasks API" button. Follow the steps to download the credentials.json file.
2. Move credentials.json to your MMM-GoogleTasks directory (MagicMirror/modules/MMM-GoogleTasks/)
3. [Enable Google Tasks API](https://console.cloud.google.com/apis/library/tasks.googleapis.com). Select the same project as in step 1.
4. Run authenticate.js:
`node authenticate.js`
5. Follow the instructions and it should print your lists. Copy the ID of the list you want to the config listID

## Using the module

### MagicMirror² Configuration

To use this module, add the following configuration block to the modules array in the `config/config.js` file:
```js
var config = {
modules: [
...
{
module: 'MMM-GoogleTasks',
header: "Google Tasks",
position: "top_left",
config: {
listID: "",
...
// See below for Configuration Options
}
},
...
]
}
```

### Configuration Options

| Option | Details
|------------------------ |--------------
| `listID` | *Required* - List ID printed from authenticate.js (see installation)
| `maxResults` | *Optional* - Max number of list items to retrieve.

**Possible values:** `0` - `100`
**Default value:** `10`
| `showCompleted` | *Optional* - Show completed task items

**Possible values:** `true` `false`
**Default value:** `false`
| `dateFormat` | *Optional* - Format to use for due date

**Possible values:** See [Moment.js formats](http://momentjs.com/docs/#/parsing/string-format/)
**Default value:** `MMM Do` (e.g. Jan 18th)
| `updateInterval` | *Optional* - Interval at which content updates (Milliseconds)

**Possible values:** `2000` - `86400000` (Tasks API has default maximum of 50,000 calls per day.)
**Default value:** `10000` (10 seconds)
| `animationSpeed` | Speed of the update animation. (Milliseconds)

**Possible values:** `0` - `5000`
**Default value:** `2000` (2 seconds)
| `tableClass` | Name of the classes issued from `main.css`.

**Possible values:** xsmall, small, medium, large, xlarge.
**Default value:** _small_