reddit-oauth

WebJar for reddit-oauth

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

reddit-oauth
Last Version

Last Version

1.1.1
Release Date

Release Date

Type

Type

jar
Description

Description

reddit-oauth
WebJar for reddit-oauth
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/aiham/reddit-oauth

Download reddit-oauth

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/reddit-oauth/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>reddit-oauth</artifactId>
    <version>1.1.1</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/reddit-oauth/
implementation 'org.webjars.npm:reddit-oauth:1.1.1'
// https://jarcasting.com/artifacts/org.webjars.npm/reddit-oauth/
implementation ("org.webjars.npm:reddit-oauth:1.1.1")
'org.webjars.npm:reddit-oauth:jar:1.1.1'
<dependency org="org.webjars.npm" name="reddit-oauth" rev="1.1.1">
  <artifact name="reddit-oauth" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='reddit-oauth', version='1.1.1')
)
libraryDependencies += "org.webjars.npm" % "reddit-oauth" % "1.1.1"
[org.webjars.npm/reddit-oauth "1.1.1"]

Dependencies

compile (2)

Group / Artifact Type Version
org.webjars.npm : request jar [2.72.0,3)
org.webjars.npm » throttled-request jar [0.1.1,0.2)

Project Modules

There are no modules declared in this project.

Note: Not maintained

reddit-oauth

NPM version

reddit-oauth is a wrapper around the Reddit API providing both OAuth and password authentication.

Requirements

Installation

npm install reddit-oauth

Documentation

http://aiham.github.io/reddit-oauth

Usage

var RedditApi = require('reddit-oauth');
var reddit = new RedditApi({
    app_id: 'your_app_id',
    app_secret: 'your_app_secret',
    redirect_uri: 'your_app_redirect_uri'
});

// Authenticate with username/password
reddit.passAuth(
    'your_reddit_username',
    'your_reddit_password',
    function (success) {
        if (success) {
            // Print the access token we just retrieved
            console.log(reddit.access_token);
        }
    }
);

// Get the OAuth URL to redirect users to
// Scopes are defined here: https://github.com/reddit/reddit/wiki/OAuth2
reddit.oAuthUrl('some_state', 'identity');

// After the user is redirected back to us, grab the query string
// object and exchange it for a set of access and refresh tokens.
// Scope has to be identical as the one provided to oAuthUrl. Can
// change for each authentication attempt.
reddit.oAuthTokens(
    'some_state',
    request.query,
    function (success) {
        // Print the access and refresh tokens we just retrieved
        console.log(reddit.access_token);
        console.log(reddit.refresh_token);
    }
);

// Returns true if access token exists
reddit.isAuthed();

// Force a refresh of the access token using the refresh token
reddit.refreshToken(
    function (success) {
        // Print the access token we just retrieved
        console.log(reddit.access_token);
    }
);

// Call authenticated GET endpoint
reddit.get(
    '/api/v1/me',
    {},
    function (error, response, body) {
        console.log(error);
        console.log(body);
    }
);

// Call authenticated GET listing endpoint with easy pagination
reddit.get(
    '/user/aihamh/submitted',
    {},
    function (error, response, body, next) {
        console.log(error);
        console.log(body);

        // next is not null, therefore there are more pages
        if (next) {
            next(); // Invoke next to retrieve the next page
        }
    }
);

// Call authenticated POST endpoint
reddit.post(
    '/api/comment',
    {
        api_type: 'json',
        text: 'Hello World!',
        thing_id: 'abc123'
    },
    function (error, response, body) {
        console.log(error);
        console.log(body);
    }
);

Run Tests

Tests written with mocha.

Copy test/config.template.json to test/config.json and add your own app and user credentials. Then run:

npm test

Generate Documentation

Documentation can be generated with jsdoc by running:

npm run docs

Versions

Version
1.1.1