0.7.12 • Published 8 years ago

aping-plugin-youtube v0.7.12

Weekly downloads
2
License
MIT
Repository
github
Last release
8 years ago

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

modelcontentsupportmax itemsper request(native) default itemsper request
socialvideosfull505
videovideosfull505

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

parametersampledescription
videoIdcBLulx9f9vcYoutube videoId (comma seperated list)

Sample requests:

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

Requests by Channel

parametersampledefaultdescriptionoptional
channelIdUCtQMmwBJGvINGU0lZ_GrZKQThe channelId parameter indicates that the API response should only contain resources created by the channel(Youtube Name to Channel ID Converter)no
items205Items per request (0-50)yes
searchhappyThe 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 -fishingyes
orderratingdateThe 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

parametersampledefaultdescriptionoptional
playlistIdPLykXdRRd47IX_5gUChdhDjgKmQyZtRrC_The playlistId parameter indicates that the API response should only contain resources containing in the playlistno
items205Items per request (0-50)yes

Sample requests:

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

Requests by Search

parametersampledefaultdescriptionoptional
searchmusicThe 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 -fishingno
items205Items per request (0-50)yes
orderratingdateThe 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.163333Defines 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.545556Defines 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
distance1km5000mThe 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

parametersampledefaultdescriptionoptional
lat-13.163333Defines 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.545556Defines 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
distance1km5000mThe 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
orderratingdateThe 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
items205Items 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

0.7.12

8 years ago

0.7.11

8 years ago

0.7.10

8 years ago

0.7.8

8 years ago

0.7.7

8 years ago

0.7.6

8 years ago

0.7.0

8 years ago