All Projects → Elijas → Auto Youtube Subscription Playlist 2

Elijas / Auto Youtube Subscription Playlist 2

Script automatically adds videos to playlists from Youtube channels and/or subscriptions (Youtube Collections alternative).

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Auto Youtube Subscription Playlist 2

Youtubeshop
Youtube autolike and autosubs script
Stars: ✭ 177 (+30.15%)
Mutual labels:  youtube-api, subscriptions, bot, youtube
Anydlbot
An Open Source GPLv3 All-In-One Telegram Bot
Stars: ✭ 236 (+73.53%)
Mutual labels:  bot, youtube, generator
Youtube Local
browser-based client for watching Youtube anonymously and with greater page performance
Stars: ✭ 112 (-17.65%)
Mutual labels:  subscriptions, videos, youtube
Freetube
An Open Source YouTube app for privacy
Stars: ✭ 4,626 (+3301.47%)
Mutual labels:  subscriptions, videos, youtube
Ngx Youtube Player
YouTube player app built with Angular 7
Stars: ✭ 92 (-32.35%)
Mutual labels:  youtube-api, youtube
Justforfunc
The repository for the YouTube series JustForFunc
Stars: ✭ 1,312 (+864.71%)
Mutual labels:  videos, youtube
Vidify
Play music videos automatically for the songs playing on any device
Stars: ✭ 95 (-30.15%)
Mutual labels:  videos, youtube
Facebookautolikeprofessional
Auto Like reactions and unlike Facebook Status, Comments, Photos, group posts, page posts, change facebook theme and skin colors, auto tag members in group post.. Auto Comment and Auto Reply to all Comments... Facebook Auto Like Unlimited 2019 is 100% safe to use...
Stars: ✭ 101 (-25.74%)
Mutual labels:  bot, automation
Slacky
🐍 The BEST Slack Selfbot on GitHub | No Bot User, Acts Like It's You! ⭐️
Stars: ✭ 80 (-41.18%)
Mutual labels:  bot, automation
Cointrol
฿ Bitcoin trading bot with a real-time dashboard for Bitstamp.
Stars: ✭ 1,351 (+893.38%)
Mutual labels:  bot, automation
React Native Thumbnail Video
Easily show thumbnails for videos on react-native.
Stars: ✭ 104 (-23.53%)
Mutual labels:  youtube-api, youtube
Jquery Youtube Channels Playlist
jQuery plugin youtube playlist
Stars: ✭ 90 (-33.82%)
Mutual labels:  youtube-api, youtube
Docker Multistreamer
Dockerized multistreamer
Stars: ✭ 90 (-33.82%)
Mutual labels:  youtube-api, youtube
Youtube Dl Subscriptions
Download all new videos from your YouTube subscriptions
Stars: ✭ 94 (-30.88%)
Mutual labels:  subscriptions, youtube
Vkbot
Простой разговорный бот на PHP
Stars: ✭ 88 (-35.29%)
Mutual labels:  bot, automation
Rhythm Bot
Queue up and play youtube audio over discord voice.
Stars: ✭ 98 (-27.94%)
Mutual labels:  bot, youtube
Slappey
Discord Bot Project Generator
Stars: ✭ 109 (-19.85%)
Mutual labels:  bot, generator
Discord.js Musicbot Addon
This DOES NOT WORK any more. This repo only serves as an archive for is anyone wants to pickup my work. You may still join the discord however.
Stars: ✭ 109 (-19.85%)
Mutual labels:  bot, youtube
Youtube desktop
The desktop Youtube Application built using Electron. (In development)
Stars: ✭ 123 (-9.56%)
Mutual labels:  youtube-api, youtube
Invite Manager
This bot will show who invited who. It's recording and showing the total count of invitations of an user, how many of them left, etc.
Stars: ✭ 77 (-43.38%)
Mutual labels:  bot, manager

Description

This is a Google Apps Script that automatically adds new Youtube videos to playlists (a replacement for Youtube Collections feature).

This is done using Google Sheets for interface, Google Script + Youtube API v3 for executing and scheduling.

(Older version here)

Features

  • Add all new videos to Youtube playlists (uploaded later than some date);

    • from all subscribed channels;

    • from any list of channels (by channel ID);

    • from any other playlist (by playlist ID);

  • Set automatic interval for updates (optional);

  • Deploy as a web app to update or show playlist (optional);

  • Remove videos in the playlists that are older than a certain number of days before the execution of the script (optional).

Where to get help

issuehunt

If you ran into problems, here are some of the possible sources for solutions:

  • Troubleshooting section at the end of this README
  • Issues board in GitHub
  • Community support forum: Official Message Board
  • 3rd party copies of the project (Forks)
    • If you'd like improve the code yourself: some issues were introduced with merges from 3rd party forks. Last commit before the merges can be found here

Set-up Instructions

  1. Copy the Sheet to your Google Drive. Afterwards you might want to update the script to the latest version of sheetScript.gs

  2. Setup your playlists and channels (white cells in the Sheet):

  • Clear all existing white rows, they are just examples (i.e. delete the 3 rows).
  • For each new playlist you want to use:
    • In a new row:
    • Add your Playlist ID in the first white column (you can find it in the URLs of your playlists, after ?list=)
    • Add your Channels (in other white columns of the same row) (Example of a successful set-up, from user topdogmsn)
      • Any of the following:
      • User ID (last part (after last /) in https://www.youtube.com/user/someusername)
      • Channel ID (last part (after last /) in https://www.youtube.com/channel/UCzMVH2jEyEwXPBvyht8xQNw)
      • Playlist ID (last part (after ?list= in https://www.youtube.com/playlist?list=PLd0LhgZxFkVKh_JNXcdHoPYo832Wu9fub)
      • ALL, to add all new videos from all of your subscriptions
    • Optionally add a number of days in the grey column (B). Videos in the playlist that have been published that many days before are going to be removed from the playlist.
  1. Run the script:

    • In Sheet's menu: Functions / Update Playlists
    • Grant access in the dialog
  2. (Optional) Adjust Timezone:

    • In menu (of the Sheet): Tools / Script Editor...
    • In script: File / Project properties
    • On tab: Info scroll down
    • Choose Time zone from dropdown
    • Save

Usage

Manual playlist update:
  1. Open the Google Sheet, then in menu: Functions / Update Playlists. (Notice: when used first time, only a timestamp will be added (prevents overflow with old videos)).
Scheduled playlist update:
  1. In menu (of the Sheet): Tools / Script Editor...
  2. In menu: Resources / Current project triggers
  3. updatePlaylists -> Time driven -> Hour timer -> Every hour
  4. Save
Deploy as a web app:
  1. In menu (of the Sheet): Tools / Script Editor...
  2. Click on Deploy
  3. Use the cog beside Select type. Ensure web app is selected.
  4. Publish (you will get a special link to use)
  5. Optional - create a tiny.cc redirect link for easy acess (tiny.cc is recommended as it allows you to pass parameters to the url)
  6. Usage: append ?pl=N to select the Nth playlist in the spreadsheet.
  • append ?update=True to force update all the playlists.
  • e.g. tiny.cc/myplaylist?update=True&pl=3 will force update and open the third playlist.

(Extra) Link to remove all/watched items from a youtube playlist here

FAQ

Q: I followed the instructions and nothing happened?

A: Only videos that are uploaded after the first run of the script are added (i.e. the timestamp is set to current date). New videos should be up. Alternatively, you can modify the timestamp yourself.

Q: How to temporarily pause updating only some of the channels?

A: Cut (or delete) the contents of the playlist ID cell in the row you want to pause.

Q: I want to say thanks!

A: Feel free to buy me a cup of coffee here: Donate. Although, I'd appreciate even more if you could help support other users and/or create pull requests for fixes and improvements!

ko-fi

Q: I have more questions.

A: See Feedback section below.

Troubleshooting

Q: Google keeps asking to authorize, even when I did so.

A: A known fix is to use an account with Gmail, YouTube accounts are known to have this issue. Notice that you will only be able to use the playlists accessible by the authorized account (i.e. your 'Gmail' account in YouTube site).

Q: I get this error: TypeError: Second argument to Function.prototype.apply must be an array. (line 27, file "")

A: Do the step laid out in the instructions above: go to Resources > Developers Console Project > Click the link to your API console project > On the left, APIs & Auth > APIs > YouTube Data API > Enable API. (thanks to josn0w and theit8514, also nmgoh and saso5tr)

Q: I get this error TypeError: Cannot call method "toString" of undefined.

A: See https://stackoverflow.com/a/48912679/1544154 (thanks to LPanic)

Q: I get this error: TypeError: Cannot read property "items" from undefined. (line 169, file "Code")

A: If it only happens sometimes, it can be safely ignored, the next round will work normal again. If it happens on every execution, check your playlist and channel IDs. The script stops working if any of your playlists or channels doesn't exist, for example because it was deleted.

Q: I get Quota or Cannot (Search) YouTube errors

A: Make sure the sheet can access YouTube's API:

  • Open the Script Editor (in menu: Tools / Script Editor...) of the Sheet
    • In menu: Resources / Advanced Google Services
    • Scroll down and make sure YouTube Data API is enabled
  • Close the Developers Console and Script Editor, open the Sheet again
Q: I get this error: Cannot query for user <USERNAME> where <USERNAME> is the channel's username found in the channel's shortened URL (i.e. youtube.com/c/<USERNAME> or youtube.com/user/<USERNAME>

In the sheet, channel usernames cannot be used, only channel ids. To get a channel id for a specific channel, follow these steps:

  1. click on any of the videos on the channel
  2. click on the channel name
  3. the URL now contains the ID instead of the username

get url for custom chanels

Q: I want to experiment with the error further

A: Copy-paste the contents of the debug.gs file into your Script Editor

Q: I have more questions.

A: See Feedback section below.

Feedback

Github Issue Board

Official Reddit Thread

Official Message Board

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].