#!/usr/bin/python   import httplib2 import os import sys   from apiclient.discovery import build from oauth2client.file import Storage from oauth2client.client import flow_from_clientsecrets from oauth2client.tools import run   vids = [x.strip() for x in open('vids').readlines()]     CLIENT_SECRETS_FILE = "client_secrets.json" MISSING_CLIENT_SECRETS_MESSAGE = "your configuration a shit"   # An OAuth 2 access scope that allows for full read/write access. YOUTUBE_READ_WRITE_SCOPE = "https://www.googleapis.com/auth/youtube" YOUTUBE_API_SERVICE_NAME = "youtube" YOUTUBE_API_VERSION = "v3"   flow = flow_from_clientsecrets(CLIENT_SECRETS_FILE,         message=MISSING_CLIENT_SECRETS_MESSAGE,         scope=YOUTUBE_READ_WRITE_SCOPE)   storage = Storage("%s-oauth2.json" % sys.argv[0]) credentials = storage.get()   if credentials is None or credentials.invalid:         credentials = run(flow, storage)   youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,         http=credentials.authorize(httplib2.Http()))   playlist = youtube.playlists().insert(         part="snippet,status",         body=dict(                 snippet=dict(                         title="Brony vids 2014",                         description=""                 ),                 status=dict(                         privacyStatus="public"                 )         ) ).execute()   for v in vids:         videoinsert = youtube.playlistItems().insert(                 part='snippet',                 body={                         'snippet': {                                 'playlistId': playlist['id'],                                 'resourceId': {                                         'videoId': v,                                         'kind': 'youtube#video'                                 }                         }                 }).execute()   print "New playlist id: %s" % playlist["id"]