npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

aping-plugin-youtube

v0.7.12

Published

Youtube plugin for apiNG

Downloads

16

Readme

apiNG

Join the chat at https://gitter.im/JohnnyTheTank/apiNG npm version Bower version

apiNG-plugin-youtube is a Youtube Data API v3 plugin for apiNG.

Information

Documentation

  1. INSTALLATION
    1. Get file
    2. Include file
    3. Add dependency
    4. Add plugin
  2. API KEY
    1. Generate your apiKey
    2. Insert your apiKey into aping-config.js
  3. USAGE
    1. Models
    2. Requests
    3. Rate limit

1. INSTALLATION

I. Get file

Install via either bower, npm, CDN (jsDelivr) or downloaded files:

II. Include file

Include aping-plugin-youtube.min.js in your apiNG application

<!-- when using bower -->
<script src="bower_components/apiNG-plugin-youtube/dist/aping-plugin-youtube.min.js"></script>

<!-- when using npm -->
<script src="node_modules/aping-plugin-youtube/dist/aping-plugin-youtube.min.js"></script>

<!-- when using cdn file -->
<script src="//cdn.jsdelivr.net/aping.plugin-youtube/latest/aping-plugin-youtube.min.js"></script>

<!-- when using downloaded files -->
<script src="aping-plugin-youtube.min.js"></script>

III. Add dependency

Add the module jtt_aping_youtube as a dependency to your app module:

angular.module('app', ['jtt_aping', 'jtt_aping_youtube']);

IV. Add the plugin

Add the plugin's directive aping-youtube="[]" to your apiNG directive and configure your requests

<aping
    template-url="templates/social.html"
    model="social"
    items="20"
    aping-youtube="[{'search':'funny cats'}]">
</aping>

2. API KEY

I. Generate your apiKey

  1. Login on console.developers.google.com
  2. Select a project, or create a new one.
  3. In the sidebar on the left, expand APIs & auth.
    • Click APIs
      • In the list of APIs, make sure the status is ON for the YouTube Data API v3
    • Click Credentials
      • Click New credentials
      • Choose API key
      • Choose Browser key
      • Name and create your API Key

II. Insert your apiKey into aping-config.js

Open js/apiNG/aping-config.js in your application folder. It should be look like this snippet:

angular.module('jtt_aping').config(['$provide', function ($provide) {
    $provide.value("apingDefaultSettings", {
        apingApiKeys : {
            youtube : [
                {'apiKey':'<YOUR_YOUTUBE_API_KEY>'},
            ]
            //...
        }
    });
}]);

:warning: Replace <YOUR_YOUTUBE_API_KEY> with your youtube apiKey

3. USAGE

I. Models

Supported apiNG models

| model | content | support | max itemsper request | (native) default itemsper request | |----------|---------|---------|--------|---------| | social | videos | full | 50 | 5 | | video | videos | full | 50 | 5 |

support:

  • full: the source platform provides a full list with usable results
  • partly: the source platfrom provides just partly usable results

II. Requests

Every apiNG plugin expects an array of requests as html attribute.

Requests by Video

| parameter | sample | description | |----------|---------|---------| | videoId | cBLulx9f9vc | Youtube videoId (comma seperated list) |

Sample requests:

  • [{'videoId':'cBLulx9f9vc'}, {'videoId':'tC76tIp0kBk'}]
  • [{'videoId':'cBLulx9f9vc,tC76tIp0kBk'}]

Requests by Channel

| parameter | sample | default | description | optional | |----------|---------|---------|---------|---------| | channelId | UCtQMmwBJGvINGU0lZ_GrZKQ | | The channelId parameter indicates that the API response should only contain resources created by the channel(Youtube Name to Channel ID Converter) | no | | items | 20 | 5 | Items per request (0-50) | yes | | search | happy | | The search parameter specifies the query term to search for. Your request can also use the Boolean NOT (-) and OR (|) operators to exclude videos or to find videos that are associated with one of several search terms. For example, to search for videos matching either "boating" or "sailing", set the search parameter value to boating|sailing. Similarly, to search for videos matching either "boating" or "sailing" but not "fishing", set the search parameter value to boating|sailing -fishing | yes | | order | rating | date | The order parameter specifies the method that will be used to order resources in the API response. Use date, rating, relevance, title, videoCount, viewCount, ($RANDOM) | yes |

Sample requests:

  • [{'channelId':'UCtQMmwBJGvINGU0lZ_GrZKQ'}, {'channelId':'UC2pmfLm7iq6Ov1UwYrWYkZA'}]
  • [{'channelId':'UC37PFGlxWgx4tU6SlhPCdCw', 'items':10, 'search':'prank'}]

Requests by Playlist

| parameter | sample | default | description | optional | |----------|---------|---------|---------|---------| | playlistId | PLykXdRRd47IX_5gUChdhDjgKmQyZtRrC_ | | The playlistId parameter indicates that the API response should only contain resources containing in the playlist | no | | items | 20 | 5 | Items per request (0-50) | yes |

Sample requests:

  • [{'playlistId':'PLXkE1kzapj4a9oWMggQ0i682chTam-I98'}, {'playlistId':'PL0XHkAy96suU3u6rx8S-NBEaHBgqsHTck'}]
  • [{'playlistId':'PL0XHkAy96suU3u6rx8S-NBEaHBgqsHTck', 'items':10}]

Requests by Search

| parameter | sample | default | description | optional | |----------|---------|---------|---------|---------| | search | music | | The search parameter specifies the query term to search for. Your request can also use the Boolean NOT (-) and OR (|) operators to exclude videos or to find videos that are associated with one of several search terms. For example, to search for videos matching either "boating" or "sailing", set the search parameter value to boating|sailing. Similarly, to search for videos matching either "boating" or "sailing" but not "fishing", set the search parameter value to boating|sailing -fishing | no | | items | 20 | 5 | Items per request (0-50) | yes | | order | rating | date | The order parameter specifies the method that will be used to order resources in the API response. Use date, rating, relevance, title, videoCount, viewCount, ($RANDOM) | yes | | lat | -13.163333 | | Defines a circular geographic area and also restricts a search to videos that specify, in their metadata, a geographic location that falls within that area. | yes | | lng | -72.545556 | | Defines a circular geographic area and also restricts a search to videos that specify, in their metadata, a geographic location that falls within that area. | yes | | distance | 1km | 5000m | The parameter value must be a floating point number followed by a measurement unit. Valid measurement units are m, km, ft, and mi. (valid values: 1500m, 5km, 10000ft, and 0.75mi) The API does not support values larger than 1000 kilometers. | yes |

Sample requests:

  • [{'search':'eagles'}, {'search':'Thomas Müller'}, {'search':'prank'}]
  • [{'search':'machu picchu', 'lat':'-13.163333', 'lng':'-72.545556', 'distance':'5km'}]

Requests by Coordinates

| parameter | sample | default | description | optional | |----------|---------|---------|---------|---------| | lat | -13.163333 | | Defines a circular geographic area and also restricts a search to videos that specify, in their metadata, a geographic location that falls within that area. | no | | lng | -72.545556 | | Defines a circular geographic area and also restricts a search to videos that specify, in their metadata, a geographic location that falls within that area. | no | | distance | 1km | 5000m | The parameter value must be a floating point number followed by a measurement unit. Valid measurement units are m, km, ft, and mi. (valid values: 1500m, 5km, 10000ft, and 0.75mi) The API does not support values larger than 1000 kilometers. | yes | | order | rating | date | The order parameter specifies the method that will be used to order resources in the API response. Use date, rating, relevance, title, videoCount, viewCount, ($RANDOM) | yes | | items | 20 | 5 | Items per request (0-50) | yes |

Sample requests:

  • [{'lat':'-13.163333', 'lng':'-72.545556', 'distance':'5km'}]

III. Rate limit

Visit the official Youtube Data API documentations: Quota usage

Licence

MIT