{"_id":"youtube-video-api","_rev":"42-db9ca2e62cce60387371b619db4bf10e","name":"youtube-video-api","description":"Straightforward programmatic and command-line interface for YouTube Videos using Google API v3","dist-tags":{"latest":"0.3.7"},"versions":{"0.1.0-beta.0":{"name":"youtube-video-api","description":"Simple programmatic interface to upload and delete videos from YouTube via its API v3","version":"0.1.0-beta.0","repository":{"type":"git","url":"https://github.com/h2non/youtube-video-api"},"license":"MIT","author":{"name":"Tomas Aparicio"},"main":"index","engines":{"node":">= 0.10.0"},"scripts":{"test":"make test"},"dependencies":{"googleapis":"^1.1.4","merge":"^1.2.0","mime":"^1.3.4","request-progress":"^0.3.1"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["gruntplugin","youtube","upload","video","mp4","googleapis","insert","delete","remove"],"gitHead":"453fa0b00b9ef9ea59f68f6879d04b883202f497","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api","_id":"youtube-video-api@0.1.0-beta.0","_shasum":"ce6670cd7fc2c4b3ada672204f641852adf8e180","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"ce6670cd7fc2c4b3ada672204f641852adf8e180","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.1.0-beta.0.tgz","integrity":"sha512-iLQw07w1CFXragaWoge+fwQNGeybg8uxNxiZjO5nrYxLbJlTLzapC6O99Ckt2Kxrw7p2xNVVnvN29HsPtb3cQw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYR5kJF4bm+YFCFXgTcx0mhFk49fsoVC0XStyMWG3BrAIhAMUtCpbuPxqbCkQq1Nbo0AjIiLirKmThe7XqpfRlSLcY"}]}},"0.1.0-beta.1":{"name":"youtube-video-api","description":"Simple programmatic interface to upload and delete videos from YouTube using OAuth2","version":"0.1.0-beta.1","repository":{"type":"git","url":"https://github.com/h2non/youtube-video-api"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.10.0"},"scripts":{"test":"make test"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"^1.7.0","request-progress":"^0.3.1"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos"],"gitHead":"1a10928907f7e1444aec651ab65b7a288feddf37","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api","_id":"youtube-video-api@0.1.0-beta.1","_shasum":"d251ec189db541a3c699af6eaf5eac8bc2afc458","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"d251ec189db541a3c699af6eaf5eac8bc2afc458","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.1.0-beta.1.tgz","integrity":"sha512-oSPZIpr/NuQtlmYacQAiTGZIAp2hsWTyH8GMfDBADHIjg84Q6aKc5eSd5o6DL6EFx9t+UidVcpbxkM4gLidwzQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDaVWOlHMVSlS5CzaAq44M+XNFN4Dw6ckFbM57iCeRilAiEArEDgbhUmDuc4PNNLGdmgvhlqrePCClScmDz4LI2BbbM="}]}},"0.1.0-beta.2":{"name":"youtube-video-api","description":"Simple programmatic interface to upload and delete videos from YouTube using OAuth2","version":"0.1.0-beta.2","repository":{"type":"git","url":"https://github.com/h2non/youtube-video-api"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.10.0"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"^1.7.0","nightmare-google-oauth2":"^0.1.0","request-progress":"^0.3.1"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos"],"gitHead":"b32890ac89d89dac665975a8598c703f732a67d0","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api","_id":"youtube-video-api@0.1.0-beta.2","_shasum":"54132debac1d91dc6e7e2e137afbcd1852411eb6","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"54132debac1d91dc6e7e2e137afbcd1852411eb6","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.1.0-beta.2.tgz","integrity":"sha512-2CpgfSYzLiLFkrzyb+y4UEBa07ylvJP6aYkavpjR5QBqg/nUEAuNngdulRy127vvB1yU0uLRW2/pJ+HOqQRPZw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCE3af0G1YLu34T7YFnP0j9mLyf2VuHQ36p1mtsp8oDHgIgDngOkBPe+w7HvnXlCbHzsLkhvjoYynSX8mz+Wi66iLs="}]}},"0.1.0":{"name":"youtube-video-api","description":"Simple programmatic interface to upload and delete videos from YouTube using OAuth2","version":"0.1.0","repository":{"type":"git","url":"https://github.com/h2non/youtube-video-api"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.10.0"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"^1.7.0","nightmare-google-oauth2":"^0.1.0"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos"],"gitHead":"41a43e58b1279886dcd5beed1112d4fdfdc67803","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api","_id":"youtube-video-api@0.1.0","_shasum":"07709eb3cc82db997cee0c312bfbb831234d111f","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"07709eb3cc82db997cee0c312bfbb831234d111f","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.1.0.tgz","integrity":"sha512-ou0TIWj/L+rxjIz09ZsOGBwx+scaNjHjw91cyaIsZirHM9vnLIpsGhZZVIGKhP/HhUIL9jtJVt0GyiaGOTlDUQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICis3OPb/kQdhqH1nH2supSqWyqF2TELBpqe4eRQ2ztTAiAUTOSNse02oxL2reOl643gqntk4y2SwuyD23L+vbbQKw=="}]}},"0.1.1":{"name":"youtube-video-api","description":"Simple programmatic interface to upload and delete videos from YouTube","version":"0.1.1","repository":{"type":"git","url":"https://github.com/h2non/youtube-video-api"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.10.0"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"^1.7.0","nightmare-google-oauth2":"^0.1.0"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos"],"gitHead":"1dd1d565bec8c1c94c883f6e167923e9a08b8b6f","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api","_id":"youtube-video-api@0.1.1","_shasum":"923f0744f71484d451b806f6dbf8310c6f2aea8a","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"923f0744f71484d451b806f6dbf8310c6f2aea8a","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.1.1.tgz","integrity":"sha512-CM5yV3Ga9C+KWXXJC8GTK5+9f3l9Hj1D3aAjhkCEMNLXZzcXe+fQ22pQXNrHvxI29aPjQmEOhI4Pgpd06ux8JA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC6Xff1Ykogr5DZj+68D+9tFb88tSi2cZpg0kTb5od/OwIhALEX1xAhmzvMJVnnmQmCMhImKyXJs3R+nMCLKS/aciSZ"}]}},"0.1.2":{"name":"youtube-video-api","description":"Simple programmatic interface to upload and delete videos from YouTube","version":"0.1.2","repository":{"type":"git","url":"https://github.com/h2non/youtube-video-api"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.10.0"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"^1.7.0","nightmare-google-oauth2":"^0.1.0"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos"],"gitHead":"e9fdb2a81f713f4b1d80856b7a978ffe78ccd25d","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api","_id":"youtube-video-api@0.1.2","_shasum":"aaeeb7ec6716eca277c4301242a7a566c45023f2","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"aaeeb7ec6716eca277c4301242a7a566c45023f2","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.1.2.tgz","integrity":"sha512-HijQWxUQi/MW+4yaanCx4XBhZql+JxpmX0GnPpKiIQCbc9fZeJgThjO7MhU+hU5yHvmTrQ3okX7FXAFFJdb3mA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFmRT1D4Thz205DxA22GkagQ47bwnZ7hGof0LNqG+H7EAiAjGwswgqWmRYCUSWLMRm6pgw7MJFmSQCHM5tzbYt8sXg=="}]}},"0.2.0":{"name":"youtube-video-api","description":"Simple programmatic interface to upload and delete videos from YouTube","version":"0.2.0","repository":{"type":"git","url":"https://github.com/h2non/youtube-video-api"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.10.0"},"bin":{"youtube-video":"./bin/youtube-video-api","youtube-video-api":"./bin/youtube-video-api"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"^1.7.0","nightmare-google-oauth2":"^0.1.0","yargs":"^3.5.4"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos"],"gitHead":"bd575df905ed3dc8322e1d160291a3335f3af8fb","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api","_id":"youtube-video-api@0.2.0","_shasum":"743c48010d7b988efe4429236cf5ce025fb49532","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"743c48010d7b988efe4429236cf5ce025fb49532","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.2.0.tgz","integrity":"sha512-zW8aTzhdxeJRAWEnxUp4OTX54Vdvqk2gtG0tuRd1vGh6wTL4SLgaCVi7e3YPWDeF1B1lWhWA+1zj+L1FKgNsNA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDeqsQ35V3diw9494uraJJTsu7G6IK+OcDQCgAgYzU0XAIhALCXw9WMaohXbhlTUdBn3KukAj9wCdhvUop/V5MUIR3s"}]}},"0.2.1":{"name":"youtube-video-api","description":"Straightforward programmatic and command-line interface for YouTube Videos using Google API v3","version":"0.2.1","repository":{"type":"git","url":"https://github.com/h2non/youtube-video-api"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.10.0"},"bin":{"youtube-video":"./bin/youtube-video-api","youtube-video-api":"./bin/youtube-video-api"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"^1.7.0","nightmare-google-oauth2":"^0.1.0","yargs":"^3.5.4"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos"],"gitHead":"e38a3341fd7c6893b2f7dd42b8efa1df4314750e","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api","_id":"youtube-video-api@0.2.1","_shasum":"2fa26fecbe02ba104294950d16a8f32fcce4b8cd","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"2fa26fecbe02ba104294950d16a8f32fcce4b8cd","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.2.1.tgz","integrity":"sha512-GmzXl+1zg3SVsyM9Ow0MlwB/QTYdjl1UurP6RVF81DDJ1GNRw8if6gHQXUQ9n4h1aA5QWJla9doO/O6dwiNxFg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFVIfPctFQpYaZkWJ9Vx9l+8DcElk/xwBV5fqzeN97RvAiEAsrihzX1yzC3O2MF4zvL6qfU+y09JZAorJs0auucD0RE="}]}},"0.2.2":{"name":"youtube-video-api","description":"Straightforward programmatic and command-line interface for YouTube Videos using Google API v3","version":"0.2.2","repository":{"type":"git","url":"https://github.com/h2non/youtube-video-api"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.10.0"},"bin":{"youtube-video":"./bin/youtube-video-api","youtube-video-api":"./bin/youtube-video-api"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"^1.7.0","nightmare-google-oauth2":"^0.1.0","yargs":"^3.5.4"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos","rate","list","thumbnail","update"],"gitHead":"f1c33c67ee228eaf1493e281a138c771b92ea942","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api","_id":"youtube-video-api@0.2.2","_shasum":"613a1e3fb292acdc6c755d1e25f4249aa04a16ce","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"613a1e3fb292acdc6c755d1e25f4249aa04a16ce","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.2.2.tgz","integrity":"sha512-/H9XG2i7g/9cioToADv9uUB4tNQc1kTqIX1NSVvU5g2teYa7I4S7YRa6WyHhUbMSyy2wrSBHEhN4W988GAIV5A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICKh+0tnwM9yusmCqQSQmkqlNaFZsCSoYRTERjoYCzgPAiEAiOQvCJu9ABymYT3MvMGWsL9ccPIbH5Dw+lUYCm/Qcyw="}]}},"0.2.3":{"name":"youtube-video-api","description":"Straightforward programmatic and command-line interface for YouTube Videos using Google API v3","version":"0.2.3","repository":{"type":"git","url":"https://github.com/h2non/youtube-video-api"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.10.0"},"bin":{"youtube-video":"./bin/youtube-video-api","youtube-video-api":"./bin/youtube-video-api"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"^1.7.0","nightmare-google-oauth2":"^0.1.0","yargs":"^3.5.4"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos","rate","list","thumbnail","update"],"gitHead":"e371246b050d9f5658d118d511a46b38c537d1a4","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api","_id":"youtube-video-api@0.2.3","_shasum":"678f1802cc2c916f0023ba02fd00b76ab03d863a","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"678f1802cc2c916f0023ba02fd00b76ab03d863a","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.2.3.tgz","integrity":"sha512-MRboep+TOf7Y4x32HqWkPtz23Sin8NHgc3OZYD2fqkeW113+Y69qd9NsThGFmLRQ5tvWRUmPX4P3ScDqWt+nhg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDKAjcaTvITdvrlr8MCd2Rkymi3x9TY2Ow060iGNefiKQIhAPGkPUVpAXS7uiKeUM9fh3zjTqaufVrly/+OEkcF5PuB"}]}},"0.2.4":{"name":"youtube-video-api","description":"Straightforward programmatic and command-line interface for YouTube Videos using Google API v3","version":"0.2.4","repository":{"type":"git","url":"https://github.com/h2non/youtube-video-api"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.10.0"},"bin":{"youtube-video":"./bin/youtube-video-api","youtube-video-api":"./bin/youtube-video-api"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"^1.7.0","nightmare-google-oauth2":"^0.1.0","yargs":"^3.5.4"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos","rate","list","thumbnail","update"],"gitHead":"be3ca34ef23bcda8b8cb99814172d7c4f73286c2","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api","_id":"youtube-video-api@0.2.4","_shasum":"a780296ab5be2d21a18793f680a7d52b200d6d63","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"a780296ab5be2d21a18793f680a7d52b200d6d63","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.2.4.tgz","integrity":"sha512-ruV30JrxepAyD7FyXTCdgwDLVUsGCqmdcHIXuPPlBZ4E9o0D1JaAZth6+KJCNPCSYdO2R0wk0yOr75faYASztA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAU29BUbBhO56Km5C6UJnR+W2fIb8nwiAgFgEGbT3VTpAiAwNY6Nh6+xhg6ADVNCPhOq5RNGLT80/h2d2T8gh/6gbQ=="}]}},"0.2.5":{"name":"youtube-video-api","description":"Straightforward programmatic and command-line interface for YouTube Videos using Google API v3","version":"0.2.5","repository":{"type":"git","url":"https://github.com/h2non/youtube-video-api"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.10.0"},"bin":{"youtube-video":"./bin/youtube-video-api","youtube-video-api":"./bin/youtube-video-api"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"^1.7.0","nightmare-google-oauth2":"^0.1.0","yargs":"^3.5.4"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos","rate","list","thumbnail","update"],"gitHead":"99ba23dda96a9a97884877bd73d05f2d63600957","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api","_id":"youtube-video-api@0.2.5","_shasum":"88ead1ece9b5474f063874b11c9c477c3d966db8","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"88ead1ece9b5474f063874b11c9c477c3d966db8","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.2.5.tgz","integrity":"sha512-FJchRKlfbsbqO/r8jwPV5xtXHZTVEdWq06cotHMNpDNyJ3NNHCIUmULiXstR1b3QDipcGr2QH26LTYyRAkwHUQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC/r+ab3V/jPryXpCECPpvYZ5Tzg5kDe27SRPWplpwAyAiEAjTYuNv5PduMb9jlDMfJV7tw7bgxGk3I6ipxPlu/wHSI="}]}},"0.2.6":{"name":"youtube-video-api","description":"Straightforward programmatic and command-line interface for YouTube Videos using Google API v3","version":"0.2.6","repository":{"type":"git","url":"https://github.com/h2non/youtube-video-api"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.10.0"},"bin":{"youtube-video":"./bin/youtube-video-api","youtube-video-api":"./bin/youtube-video-api"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"^1.7.0","nightmare-google-oauth2":"^0.1.0","yargs":"^3.5.4"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos","rate","list","thumbnail","update"],"gitHead":"21c094ff43f3861a568379fe4cc1199a51fda4eb","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api","_id":"youtube-video-api@0.2.6","_shasum":"45e76f2f1facf0b1abb554dfd3e201fa13e772cd","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"45e76f2f1facf0b1abb554dfd3e201fa13e772cd","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.2.6.tgz","integrity":"sha512-8ZpEizbzTB6mcSpLhgFRksgWPO6g9xoSphUH2eOlwBO9/YX/9bNiPz22Onk5Qx9gaHSnuPWLHNJbcgbiPQHuwg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHUQla9+WfXYfX2ijRvUGlU2HnCNrq/0BD4H1Db4dRoYAiEA6IIvSUh2zAnFBkB8Z/ufevZTHwA4KnilavGN4ujJ30o="}]}},"0.2.7":{"name":"youtube-video-api","description":"Straightforward programmatic and command-line interface for YouTube Videos using Google API v3","version":"0.2.7","repository":{"type":"git","url":"https://github.com/h2non/youtube-video-api"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.10.0"},"bin":{"youtube-video":"./bin/youtube-video-api","youtube-video-api":"./bin/youtube-video-api"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"^1.7.0","nightmare-google-oauth2":"^0.1.0","yargs":"^3.5.4"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos","rate","list","thumbnail","update"],"gitHead":"c08ba831e9043de722eb09a1b1bdba18eac7d4e3","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api","_id":"youtube-video-api@0.2.7","_shasum":"620c73d6b7240b7503e80988fe54a61594d2cb36","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"620c73d6b7240b7503e80988fe54a61594d2cb36","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.2.7.tgz","integrity":"sha512-X9xuFH/CrPapveiHXzBSEcFe06AFmGnLsoMEYgmuFAdA5oY7iwClBhq7T1RnofRk0+/1LWVcOY3rWHsv0hr4Xw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvykLrGuSj9SlV+O20dowUERYzLTxJXpxSq3uL1nZMugIgEI7s5XALJn6a7qvGuMGo0HGQH9FUJWRJ9VYhMxyUY0k="}]}},"0.2.8":{"name":"youtube-video-api","description":"Straightforward programmatic and command-line interface for YouTube Videos using Google API v3","version":"0.2.8","repository":{"type":"git","url":"https://github.com/h2non/youtube-video-api"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.10.0"},"bin":{"youtube-video":"./bin/youtube-video-api","youtube-video-api":"./bin/youtube-video-api"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"^1.7.0","nightmare-google-oauth2":"^0.1.0","yargs":"^3.5.4"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos","rate","list","thumbnail","update"],"gitHead":"c9cc3e936ca8e2d03a222c07dfecbfe39e370f7d","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api","_id":"youtube-video-api@0.2.8","_shasum":"36bf6b504a64eb5d8524c919edd12c91ba08c889","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"36bf6b504a64eb5d8524c919edd12c91ba08c889","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.2.8.tgz","integrity":"sha512-s/3JaZoyTKhjZ4QhweH8OspInz7t4QEIcoQBV8HC9SssMIHbon52fX3Vt9ioJM+UxRWGbZ2NH9+W0rvfHpO8Fw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCapoSHDK5gpEwqBXd0upWja168spw9uXb858rPNvtuJwIgcdNsE67It/oAkOez3pWbeT4ZZ8bEHwID2+agNaW/okg="}]}},"0.2.9":{"name":"youtube-video-api","description":"Straightforward programmatic and command-line interface for YouTube Videos using Google API v3","version":"0.2.9","repository":{"type":"git","url":"https://github.com/h2non/youtube-video-api"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.10.0"},"bin":{"youtube-video":"./bin/youtube-video-api","youtube-video-api":"./bin/youtube-video-api"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"^1.7.0","nightmare-google-oauth2":"^0.1.0","yargs":"^3.5.4"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos","rate","list","thumbnail","update"],"gitHead":"d0db5605cd98046affdbffafb5d7d70df9141d4d","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api","_id":"youtube-video-api@0.2.9","_shasum":"cf39893c4ee92682dca859cdb82354450c6defcd","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"cf39893c4ee92682dca859cdb82354450c6defcd","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.2.9.tgz","integrity":"sha512-H1TI6xlbSwYHj9hu4SdgAjbNtYjDljhiuBNauJB3AZa9SUgf+1L6D5fEziv27zR0Ms2abRGaAuUwvJU3AgAAzw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqmx0qMOnMIC6LO+S9aOceOQd4pIG9gwZAwCjoJ1xwNwIhAJgUXFhAUwJbFUccg98MJjoR5xPUbocB5gJTwLkEfzWh"}]}},"0.2.10":{"name":"youtube-video-api","description":"Straightforward programmatic and command-line interface for YouTube Videos using Google API v3","version":"0.2.10","repository":{"type":"git","url":"https://github.com/h2non/youtube-video-api"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.10.0"},"bin":{"youtube-video":"./bin/youtube-video-api","youtube-video-api":"./bin/youtube-video-api"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"^1.7.0","nightmare-google-oauth2":"^0.1.0","yargs":"^3.5.4"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos","rate","list","thumbnail","update"],"gitHead":"af2a9815e10115ac2834328fe76937460bb83585","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api","_id":"youtube-video-api@0.2.10","_shasum":"d077419ab414d64121f77b8ba3fbd6380ee05cec","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.2","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"d077419ab414d64121f77b8ba3fbd6380ee05cec","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.2.10.tgz","integrity":"sha512-wAdVIGZNLF17FlCgslWFwmkie7sd2KYea8eiSF3zMnKGpM1ck1fkbqDuaRUVwmzQq1wYGiLlBbaCF7/TLQ2GZg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDFVSEK/Hpzn5vT3LY6NOnH7n25ZmpbwdbAgdiJ38v37AiEAxNbXhlk+YjGRYfJ+7udIomB8HM9CSz2hlns5UD2cUNw="}]}},"0.2.11":{"name":"youtube-video-api","description":"Straightforward programmatic and command-line interface for YouTube Videos using Google API v3","version":"0.2.11","repository":{"type":"git","url":"https://github.com/h2non/youtube-video-api"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.10.0"},"bin":{"youtube-video":"./bin/youtube-video-api","youtube-video-api":"./bin/youtube-video-api"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"^1.7.0","nightmare-google-oauth2":"^0.1.0","yargs":"^3.5.4"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos","rate","list","thumbnail","update"],"gitHead":"690f3796a3842c505621f9d0b07652b532184dde","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api","_id":"youtube-video-api@0.2.11","_shasum":"0f8d514b82d2cb579c3171ed559ae757663b7c7a","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.2","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"0f8d514b82d2cb579c3171ed559ae757663b7c7a","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.2.11.tgz","integrity":"sha512-7tWC919FbCGrCdn3s4tBrlSiWEWSm7NWDmfVQdhtBMlyomcZq9VEWlCH2j1+OOAnJ4EStdXQDDfNaOSaCcfpDQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDr4pHA37zmPiRvHMWQNez8tYxGzLfI/vn4A+WCT5AW/wIhAONAr163jNPcOI7tCfrKrmWgRB5IQ6ww9+0Ey4CeH6M3"}]}},"0.2.12":{"name":"youtube-video-api","description":"Straightforward programmatic and command-line interface for YouTube Videos using Google API v3","version":"0.2.12","repository":{"type":"git","url":"https://github.com/h2non/youtube-video-api"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.10.0"},"bin":{"youtube-video":"./bin/youtube-video-api","youtube-video-api":"./bin/youtube-video-api"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"^1.7.0","nightmare-google-oauth2":"^0.1.0","yargs":"^3.5.4"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos","rate","list","thumbnail","update"],"gitHead":"a5351985f6c4659fb6dcfddfbaaba9ac4fa515db","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api","_id":"youtube-video-api@0.2.12","_shasum":"03ab28f0e16328bb1475c72f32129981a0d9f42f","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.2","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"03ab28f0e16328bb1475c72f32129981a0d9f42f","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.2.12.tgz","integrity":"sha512-ZL7gZtLseaJw3mH7qDbWM6u/FWFtiMm7/KhTIJPoVHJJ3vgKzELz3dSV9OJWTWyJb1aXpJb7GVkoeJWfsgpMgw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHQwwge5MAJ92WojzRzfF9300iD3+NH4/fhPleCangYdAiEA+5mQHUIoOJNGcTNVcMrbEu4M9I1VV0S+RJOfdZ/WJ1Y="}]}},"0.2.13":{"name":"youtube-video-api","description":"Straightforward programmatic and command-line interface for YouTube Videos using Google API v3","version":"0.2.13","repository":{"type":"git","url":"https://github.com/h2non/youtube-video-api"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.10.0"},"bin":{"youtube-video":"./bin/youtube-video-api","youtube-video-api":"./bin/youtube-video-api"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"^1.7.0","nightmare-google-oauth2":"^0.1.0","yargs":"^3.5.4"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos","rate","list","thumbnail","update"],"gitHead":"e1b2e403dc10981cd1d46ccd8e39bbbd0115163f","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api","_id":"youtube-video-api@0.2.13","_shasum":"9988a2f45a720ae078f6e71fa50eef606c0f92d3","_from":".","_npmVersion":"2.7.1","_nodeVersion":"0.12.2","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"9988a2f45a720ae078f6e71fa50eef606c0f92d3","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.2.13.tgz","integrity":"sha512-7fI1gF89MyJxbzUAKxnD9pKMJxKSkpocBz7JRQxtp0KY6wfhNBGuNBALbOm7lDBXdnyc1MgMNEPERza3SpVbFA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGXml5n2igLkVAtgFeQj4b1fMGl3NtuXdquw00qCsLvLAiAKxSha0mHpeduFT0UXVVf4mwCSsYXzoqeTvseaXORcCw=="}]}},"0.3.0":{"name":"youtube-video-api","description":"Straightforward programmatic and command-line interface for YouTube Videos using Google API v3","version":"0.3.0","repository":{"type":"git","url":"git+https://github.com/h2non/youtube-video-api.git"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.10.0"},"bin":{"youtube-video":"./bin/youtube-video-api","youtube-video-api":"./bin/youtube-video-api"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"git+https://github.com/h2non/nightmare.git#master","nightmare-google-oauth2":"^0.2.0","yargs":"^3.5.4"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos","rate","list","thumbnail","update"],"gitHead":"22022d5334c3731f8b1a04e644493549cc990ac5","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api#readme","_id":"youtube-video-api@0.3.0","_shasum":"95fd848635ead53c8aa024364bf5e045ca564e48","_from":".","_npmVersion":"3.6.0","_nodeVersion":"5.7.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"95fd848635ead53c8aa024364bf5e045ca564e48","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.3.0.tgz","integrity":"sha512-ToTCVgAREhJgW9SgZr+iqtAEpJ3sqAbKaT1cPmNbLKgxHrFB4zIgrRGAS1yoiKDKp5egvoMV1lWkQTQCHOKiiA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7xJot8aIGr7DPLWz7gGbojZeeoH2inWRDqj5zUYy3NQIhAK/+0tjBJDwhazTYvqEtRIF4ROXimQEWnchA5ZMdF2g1"}]},"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/youtube-video-api-0.3.0.tgz_1456310421664_0.6916974186897278"}},"0.3.1":{"name":"youtube-video-api","description":"Straightforward programmatic and command-line interface for YouTube Videos using Google API v3","version":"0.3.1","repository":{"type":"git","url":"git+https://github.com/h2non/youtube-video-api.git"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.12.0"},"bin":{"youtube-video":"./bin/youtube-video-api","youtube-video-api":"./bin/youtube-video-api"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"git+https://github.com/h2non/nightmare.git#master","nightmare-google-oauth2":"^0.2.0","yargs":"^3.5.4"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos","rate","list","thumbnail","update"],"gitHead":"e69be0ea97aa64d90d7b49396c21643adf366a50","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api#readme","_id":"youtube-video-api@0.3.1","_shasum":"ad7b90d47fe3b72935078e8769e8ea187fd71504","_from":".","_npmVersion":"3.6.0","_nodeVersion":"5.7.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"ad7b90d47fe3b72935078e8769e8ea187fd71504","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.3.1.tgz","integrity":"sha512-oCNvsexo1vZOopYUOua0bbnIixiRXcoCl47Vfu8MsTfoKNhneVTvToP15hj8cubDpWBzSf7gyGDk3wjIvfaB2Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDUuHzmP0jUcse30jQPI8zhz8IN54KFTuXtThlOWR6tswIhANq28NR4kmyDLNS61ZWVJund3TnTd6qYqr8tmOAOxGk+"}]},"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/youtube-video-api-0.3.1.tgz_1456312751897_0.7652665385976434"}},"0.3.2":{"name":"youtube-video-api","description":"Straightforward programmatic and command-line interface for YouTube Videos using Google API v3","version":"0.3.2","repository":{"type":"git","url":"git+https://github.com/h2non/youtube-video-api.git"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.12.0"},"bin":{"youtube-video":"./bin/youtube-video-api","youtube-video-api":"./bin/youtube-video-api"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"git+https://github.com/h2non/nightmare.git#master","nightmare-google-oauth2":"^0.2.0","yargs":"^3.5.4"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos","rate","list","thumbnail","update"],"gitHead":"aa7d898c50665450f44ba7fe9b81ba71ac293496","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api#readme","_id":"youtube-video-api@0.3.2","_shasum":"4b3ea58387aeadb65b9f3e74811ff62be4ed39cc","_from":".","_npmVersion":"3.6.0","_nodeVersion":"5.7.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"4b3ea58387aeadb65b9f3e74811ff62be4ed39cc","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.3.2.tgz","integrity":"sha512-QYzqbtAlnCBOM5/tqSLrfmanPSMQ2zA3hnOMdF4UGIqzRWLiqzGP0/mcu2eeua6pUL1KZ0x5O3JS9ScsMOCzQw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGX6WTk0/udLvt8wf6UgzMfqPBqlCowtx03z1vnwfbgQAiEAj/8PuF/KwZvJyY189tsG5Bk2nbeD8iNN/6qiltb7t5A="}]},"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/youtube-video-api-0.3.2.tgz_1456313452135_0.6269818493165076"}},"0.3.3":{"name":"youtube-video-api","description":"Straightforward programmatic and command-line interface for YouTube Videos using Google API v3","version":"0.3.3","repository":{"type":"git","url":"git+https://github.com/h2non/youtube-video-api.git"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.12.0"},"bin":{"youtube-video":"./bin/youtube-video-api","youtube-video-api":"./bin/youtube-video-api"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"git+https://github.com/h2non/nightmare.git#master","nightmare-google-oauth2":"^0.2.0","yargs":"^3.5.4"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos","rate","list","thumbnail","update"],"gitHead":"9c07826aed32c36a8a9711d4be63dbe3bb78f4b2","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api#readme","_id":"youtube-video-api@0.3.3","_shasum":"e8ee241f469ba1a216a2234f11d549ce30631bfa","_from":".","_npmVersion":"3.6.0","_nodeVersion":"5.7.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"e8ee241f469ba1a216a2234f11d549ce30631bfa","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.3.3.tgz","integrity":"sha512-wP2pa8oQOwKBH1UMKUhyMjmfTuEAj61hn9DTxWhaZGVK1liWj+AxYJNJbjkUrZ7lC/HsfhDc6d9lhxkKJGqdgg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGMsVllElFgpxv3paRirYeIlhUcE5Wz0+zwTS/B0uSDUAiEAqtQT2auZ5plm86XJkZD/3cEvxGP3i+ne/w+RVjL5ALs="}]},"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/youtube-video-api-0.3.3.tgz_1456314013957_0.9096333796624094"}},"0.3.4":{"name":"youtube-video-api","description":"Straightforward programmatic and command-line interface for YouTube Videos using Google API v3","version":"0.3.4","repository":{"type":"git","url":"git+https://github.com/h2non/youtube-video-api.git"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.12.0"},"bin":{"youtube-video":"./bin/youtube-video-api","youtube-video-api":"./bin/youtube-video-api"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"git+https://github.com/h2non/nightmare.git#master","nightmare-google-oauth2":"^0.2.0","yargs":"^3.5.4"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos","rate","list","thumbnail","update"],"gitHead":"63f432e18fb4162b9cfb291e78d281c19524b739","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api#readme","_id":"youtube-video-api@0.3.4","_shasum":"10cb19ad0c22ce07253ab81dcc148cde04cccb0e","_from":".","_npmVersion":"3.6.0","_nodeVersion":"5.7.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"10cb19ad0c22ce07253ab81dcc148cde04cccb0e","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.3.4.tgz","integrity":"sha512-JurPa29PAPg/HSTS5YiC17G27aoX6P3QiRRMXTiK1YP7uUbbn4K0BJEQISU7jQ2z61SIqk7g/pOv2pxTjMbMhg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfg7y0Aq9P1AfwbaYzcqKL4nUwI51lbSty/8byyZ43tgIhAJdI1evMjGhdZ4a2sxTpLKopWCB8YiSwiPet9nrkCaeL"}]},"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/youtube-video-api-0.3.4.tgz_1456316670904_0.9702681766357273"}},"0.3.5":{"name":"youtube-video-api","description":"Straightforward programmatic and command-line interface for YouTube Videos using Google API v3","version":"0.3.5","repository":{"type":"git","url":"git+https://github.com/h2non/youtube-video-api.git"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.12.0"},"bin":{"youtube-video":"./bin/youtube-video-api","youtube-video-api":"./bin/youtube-video-api"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"git+https://github.com/h2non/nightmare.git#master","nightmare-google-oauth2":"^0.2.0","yargs":"^3.5.4"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos","rate","list","thumbnail","update"],"gitHead":"474e5820b732333d50132755fe82b2a9b1f71c46","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api#readme","_id":"youtube-video-api@0.3.5","_shasum":"dc97bef03a1d5cdbc31c412daca83a0d98463a38","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"dc97bef03a1d5cdbc31c412daca83a0d98463a38","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.3.5.tgz","integrity":"sha512-+E+wYt9lUaF2XkHfhMUPclZHhDyyZ/NQwejv1Tb9ndls1MfV/BLFWQwxnxUsUVx5iUH9D8j5iBrqEsw51dGahg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDukeu/brj0kuw1yOt01L4kWA9wFjqIT4e0LXMjR6z/pQIhAMVxzQM95eRxsOzCMnDS1S1sLHMx9Lwr6Acax36a7ztM"}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/youtube-video-api-0.3.5.tgz_1478452399546_0.6409392755012959"}},"0.3.6":{"name":"youtube-video-api","description":"Straightforward programmatic and command-line interface for YouTube Videos using Google API v3","version":"0.3.6","repository":{"type":"git","url":"git+https://github.com/h2non/youtube-video-api.git"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.12.0"},"bin":{"youtube-video":"./bin/youtube-video-api","youtube-video-api":"./bin/youtube-video-api"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"git+https://github.com/h2non/nightmare.git#master","nightmare-google-oauth2":"^0.2.0","yargs":"^3.5.4"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos","rate","list","thumbnail","update"],"gitHead":"7eef92d89a8a378b152ab6466730820b277e22bf","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api#readme","_id":"youtube-video-api@0.3.6","_shasum":"bb074a9ccdafffe93e9a4d913f0ff1c2f34ab5f4","_from":".","_npmVersion":"3.10.8","_nodeVersion":"7.1.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"dist":{"shasum":"bb074a9ccdafffe93e9a4d913f0ff1c2f34ab5f4","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.3.6.tgz","integrity":"sha512-+ZwvpsZh8A2w/KwM7RyTSjkTTi3ONrjaHluCnRRtDFtW79mKWnjw2D9p3syzkuv3uPIA4LcVlQk/JAAYjcTpXw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDlN3Szv30I5G6blg/n0S2tLMaxxOyFBEseobWBPh/yFAiEAuqoLhOpe9FYsDsVm/H8ssxbioBQ/+syvqRHTsZxy65g="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/youtube-video-api-0.3.6.tgz_1480016881953_0.31219620211049914"}},"0.3.7":{"name":"youtube-video-api","description":"Straightforward programmatic and command-line interface for YouTube Videos using Google API v3","version":"0.3.7","repository":{"type":"git","url":"git+https://github.com/h2non/youtube-video-api.git"},"license":"MIT","author":{"name":"Tomas Aparicio"},"engines":{"node":">= 0.12.0"},"bin":{"youtube-video":"./bin/youtube-video-api","youtube-video-api":"./bin/youtube-video-api"},"scripts":{"test":"mocha --timeout 30000 --reporter spec --ui tdd"},"dependencies":{"decamelize":"^1.0.0","googleapis":"^1.1.4","lodash.omit":"^3.0.0","merge":"^1.2.0","mime":"^1.3.4","nightmare":"^2.10.0","nightmare-google-oauth2":"^0.2.0","yargs":"^3.5.4"},"devDependencies":{"chai":"^2.1.0","mocha":"^2.1.0"},"keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos","rate","list","thumbnail","update"],"gitHead":"641bffbae68dd72ff87d1cfb5801e24d6aa6ee47","bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"homepage":"https://github.com/h2non/youtube-video-api#readme","_id":"youtube-video-api@0.3.7","_shasum":"a8c336182a1f31132897c0192e6309981e38bdeb","_from":".","_npmVersion":"3.10.8","_nodeVersion":"7.1.0","_npmUser":{"name":"h2non","email":"tomas@aparicio.me"},"dist":{"shasum":"a8c336182a1f31132897c0192e6309981e38bdeb","tarball":"https://registry.npmjs.org/youtube-video-api/-/youtube-video-api-0.3.7.tgz","integrity":"sha512-MisoDUZpJadkdLpDJWZsmUJJ+gGWdSIIS9GzroM+SuK1nLV27AtCV18x8zDiIdm3VpHJaM+vFB3qYJFwOlthSQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDlXsUhfcC6C509WwsW/o//wHWwKns4LvMtXs7noT0CvgIgShWUWnZwWCHoaT+YZy7YCUpcH+m+utbgn+spXC3i6qQ="}]},"maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/youtube-video-api-0.3.7.tgz_1498554043811_0.9443079654593021"}}},"readme":"# youtube-video-api [![Build Status](https://api.travis-ci.org/h2non/youtube-video-api.svg?branch=master)][travis] [![NPM version](https://img.shields.io/npm/v/youtube-video-api.svg)][npm] ![Downloads](https://img.shields.io/npm/dm/youtube-video-api.svg)\n\nStraightforward **node.js/io.js programmatic and command-line interface to** easily **upload, list, update, rate, thumbnail and delete videos** from **YouTube** using [OAuth2](https://developers.google.com/accounts/docs/OAuth2) and [Google API v3](https://developers.google.com/youtube/v3/docs/videos).\n\nIt was designed to provide a reliable server-to-server automation solution, with additional support for transparent Google API OAuth2 token negotiation retrieval using [Nightmare](http://nightmarejs.org) + [Electron](https://github.com/atom/electron) in case that you don't have a valid OAuth2 token or simply you want to use a fresh token every time automatically\n\n**Rationale note**: I created this package to solve my personal frustration after using further solutions to interact with Youtube Videos API in a realiable way. I wish it can dissipate your frustration as well.\n\n## Installation\n\n```bash\nnpm install youtube-video-api --save\n```\n\nFor command-line usage install it as global package:\n```bash\nnpm install -g youtube-video-api\n```\n\n## Configuration\n\nIf you already have a valid OAuth2 token, you can create in your working directory a file called `.google-oauth2-credentials.json` to store it.\n\nThis will avoid you to define your Google account email and password to automatically obtain a valid OAuth2 token using [PhantomJS](http://phantomjs.org), however if you want to get a fresh OAuth2 token automatically on-the-fly read [this](#google-oauth)\n\nExample file:\n```json\n{\n  \"access_token\": \"xx99.xxxxxxxxx-xxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n  \"token_type\": \"Bearer\",\n  \"refresh_token\": \"1/xxxxxxxxxxxxxxxxxx_xxxxx-xxxxxxxxxx_xxxxxxxxx_xxxxxxxxx\",\n  \"expiry_date\": 1425349408683\n}\n```\n\nOnly `access_token` and `refresh_token` fields are mandatory.\n \n## Command-line interface\n\n```bash\nyoutube-video-api --help\n```\n\n```bash\nUsage: bin/youtube-video-api <command> [options]\n\nCommands:\n  upload    Upload a video to Youtube                                           \n  delete    Remove a video from Youtube                                         \n  update    Update a video from Youtube                                         \n  rate      Rate a video from Youtube                                           \n  list      List videos from Youtube                                            \n\nOptions:\n  -h, --help      Show help                                                     \n  --version       Show version number                                           \n  --file, -f      path to video config JSON file                                \n  --client, -c    Google API Client ID. You can pass it as env variable:\n                  GOOGLE_API_CLIENT_ID\n                  [required]  [default: \"\"]\n  --secret, -s    Google API Client Secret. You can pass it as env variable:\n                  GOOGLE_API_CLIENT_SECRET\n                               [required]  [default: \"\"]\n  --token, -t     Google API OAuth2 token. You can pass it as env variable:\n                  GOOGLE_API_TOKEN\n  --refresh, -r   Google API OAuth2 refresh token. You can pass it as env\n                  variable: GOOGLE_API_REFRESH_TOKEN\n  --email, -e     Google account email, used for automatic OAuth2. You can pass\n                  it as env variable: GOOGLE_LOGIN_EMAIL\n  --password, -p  Google account password, used for automatic OAuth2. You can\n                  pass it as env variable: GOOGLE_LOGIN_PASSWORD\n  --account, -a   Google default email account to use in case of multiple \n                  associated Google accounts\n  --id, -i        Video idenfitier\n  --video, -v     File path to video\n  --rating, -x    Video rating score\n  --next, -n      Return the next page token results for list command\n  --prev, -p      Return the previous page token results for list command\n  --credentials, -w  custom path to JSON file with token credentials\n  --debug, -d     Enable debug mode [default: false]\n\nExamples:\n  youtube-video-api upload -c clientId -s clientSecret -f config.json -v video.mp4\n  youtube-video-api remove -c clientId -s clientSecret -i 23XsFi23LKD\n  youtube-video-api update -c clientId -s clientSecret -c config.json\n  youtube-video-api rate -c clientId -s clientSecret -i 23XsFi23LKD -v 5\n  youtube-video-api list -c clientId -s clientSecret --next\n```\n\n## API\n\n```js\nvar Youtube = require('youtube-video-api')\n```\n\n```js\nvar youtube = Youtube({ \n  video: {\n    part: 'status,snippet' \n  }\n})\n\nvar params = {\n  resource: {\n    snippet: {\n      title: 'test video',\n      description: 'This is a test video uploaded via the YouTube API'\n    },\n    status: {\n      privacyStatus: 'private'\n    }\n  }\n}\n\nyoutube.authenticate('my-client-id', 'my-client-secret', function (err, tokens) {\n  if (err) return console.error('Cannot authenticate:', err)\n  uploadVideo()\n})\n\nfunction uploadVideo() {\n  youtube.upload('path/to/video.mp4', params, function (err, video) {\n    // 'path/to/video.mp4' can be replaced with readable stream. \n    // When passing stream adding mediaType to params is advised.\n    if (err) {\n      return console.error('Cannot upload video:', err)\n    }\n\n    console.log('Video was uploaded with ID:', video.id)\n  \n    // this is just a test! delete it\n    youtube.delete(video.id, function (err) {\n      if (!err) console.log('Video was deleted')\n    })\n  })\n}\n```\n\n### youtube([ options ])\n\nYoutube Videos API constructor. Returns an evented API based on `EventEmitter` subscribers\n\nSupported options:\n\n- **saveTokens** `boolean` - Save OAuth tokens in `.google-oauth2-credentials.json`. Default `true`\n- **video** `object` - Default video options to send to the API. Documentation [here](https://developers.google.com/youtube/v3/docs/videos)\n- **email** `string` - Optional. Google Account email login required obtain a valid OAuth2 token. You can pass it as env variable `GOOGLE_LOGIN_EMAIL`\n- **password** `string` - Optional. Google Account password login required to obtain a valid OAuth2 token. You can pass it as env variable `GOOGLE_LOGIN_PASSWORD`\n- **clientId** `string` - Optional. Google API OAuth Client ID\n- **clientSecret** `string` - Optional. Google API OAuth Client Secret\n- **tokens** `object` - Optional. Google API OAuth Client Tokens. Object must contains the following keys: `access_token` and `refresh_token`\n- **useAccount** `string` - In case of multiple associated Google accounts, define the email of the desired account to use\n- **file** `string` - Credentials JSON file path. Default to `.google-oauth2-credentials.json`\n- **scope** `string` - Google API scope. Default to `https://www.googleapis.com/auth/youtube.upload`\n\n#### youtube#authenticate([ clientId, clientSecret [, tokens ] ], cb)\nAlias: `auth`\n\nAuthorize the client to perform read/write API operations. \nYou **must call this method** on each new Youtube client before interact with the API.\n\nThis function is variadic (it allow multiple number of arguments)\n\nIf the file `google-oauth2-credentials.json` already exists with valid OAuth2 tokens, \nyou can simply call this method just with a callback \n```js\nyoutube.auth(function (err, tokens) {\n  if (err) return console.error('Cannot auth:', err)\n\n  console.log('Auth tokens:', tokens)\n})\n```\n\n#### youtube#upload(video, params [, callback ])\nAlias: `insert`\n\nUpload a new video with custom metadata. `video` argument can be the path to the video file or a readable stream of the video. When passing stream adding mediaType to params is advised.  \nYou can see all the allowed params [here](https://developers.google.com/youtube/v3/docs/videos/insert)\n\n#### youtube#delete(id [, callback ])\nAlias: `remove`\n\nDelete a video, passing its ID. See endpoint [documentation](https://developers.google.com/youtube/v3/docs/videos/delete)\n\n#### youtube#list(options, callback)\n\nReturns a list of videos that match the API request parameters. \n\n#### youtube#update(options, callback)\n\nUpdates a video's metadata. See endpoint [documentation](https://developers.google.com/youtube/v3/docs/videos/update)\n\n#### youtube#rate(id, rating, callback)\n\nAdd a like or dislike rating to a video or remove a rating from a video. See endpoint [documentation](https://developers.google.com/youtube/v3/docs/videos/rate)\n\n#### youtube#getRating(id, callback)\n\nRetrieves the ratings that the authorized user gave to a list of specified videos. \nSee endpoint [documentation](https://developers.google.com/youtube/v3/docs/videos/getRating)\n\n#### youtube#thumbnails(id, media, callback)\n\nUploads a custom video thumbnail to YouTube and set it for the given video ID.\nSee endpoint [documentation](https://developers.google.com/youtube/v3/docs/thumbnails/set)\n\n```js\nyoutube.thumbnails(videoId, { \n    mimeType: 'image/jpg', \n    body: fs.createReadStream('image.jpg') \n  }, function (err) {\n    if (err) console.error('Cannot define the thumbnail')\n  })\n```\n\n### youtube.google\n\nExpose the [node.js Google APIs](https://github.com/google/google-api-nodejs-client) module\n\n### youtube.youtube\n\nExpose the [node.js Google APIs](https://github.com/google/google-api-nodejs-client) YouTube API constructor\n\n### youtube.VERSION\n\nExpose the package current semantic version \n\n## Google OAuth\n\n### Automatically obtain a valid OAuth2 token\n\nBe sure you have a project and a Web Application credentials with a Client ID and Client Secret \nfrom the [Google API Console][console] > `API & Auth` > `Credentials`\n\nThen you must add the following URI as allowed redirects (without final slash):\n```\nhttp://localhost:8488\n```\n\nThen you should see something like:\n\n<img src=\"http://oi59.tinypic.com/2w3udmd.jpg\" />\n\nExample getting a valid OAuth token on-the-fly:\n```js\nvar youtube = Youtube({ \n  video: {\n    part: 'status,snippet'\n  },\n  email: 'john@gmail.com',\n  password: 'svp3r_p@s$p0rd'\n})\n\nyoutube.on('auth:success', function (err) {\n  if (!err) {\n    youtube.upload('path/to/video.mp4', {}, function (err, video) {\n      if (!err) console.log('Video was uploaded:', video.id)\n    })\n  }\n})\n\nyoutube.authenticate('my-client-id', 'my-client-secret')\n```\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT) © Tomas Aparicio\n\n[console]: https://code.google.com/apis/console/\n[travis]: https://travis-ci.org/h2non/youtube-video-api\n[npm]: http://npmjs.org/package/youtube-video-api\n","maintainers":[{"name":"h2non","email":"tomas@aparicio.me"}],"time":{"modified":"2022-06-29T08:11:02.471Z","created":"2015-03-02T15:47:34.540Z","0.1.0-beta.0":"2015-03-02T15:47:34.540Z","0.1.0-beta.1":"2015-03-03T01:28:53.363Z","0.1.0-beta.2":"2015-03-03T09:13:57.227Z","0.1.0":"2015-03-03T09:17:01.026Z","0.1.1":"2015-03-10T21:58:25.495Z","0.1.2":"2015-03-11T11:34:55.924Z","0.2.0":"2015-03-15T17:59:11.764Z","0.2.1":"2015-03-15T18:03:07.906Z","0.2.2":"2015-03-16T21:23:11.211Z","0.2.3":"2015-03-19T15:23:15.715Z","0.2.4":"2015-03-19T21:32:31.069Z","0.2.5":"2015-04-14T15:25:49.391Z","0.2.6":"2015-04-16T09:04:11.630Z","0.2.7":"2015-04-21T22:38:50.955Z","0.2.8":"2015-04-21T22:45:09.255Z","0.2.9":"2015-04-26T01:22:01.585Z","0.2.10":"2015-05-16T13:04:19.402Z","0.2.11":"2015-06-04T14:25:25.459Z","0.2.12":"2015-06-17T11:41:50.616Z","0.2.13":"2015-06-17T13:21:34.209Z","0.3.0":"2016-02-24T10:40:22.650Z","0.3.1":"2016-02-24T11:19:14.804Z","0.3.2":"2016-02-24T11:30:53.217Z","0.3.3":"2016-02-24T11:40:16.353Z","0.3.4":"2016-02-24T12:24:31.880Z","0.3.5":"2016-11-06T17:13:20.170Z","0.3.6":"2016-11-24T19:48:03.751Z","0.3.7":"2017-06-27T09:00:44.764Z"},"homepage":"https://github.com/h2non/youtube-video-api#readme","keywords":["youtube","upload","video","mp4","googleapis","insert","delete","remove","videos","rate","list","thumbnail","update"],"repository":{"type":"git","url":"git+https://github.com/h2non/youtube-video-api.git"},"author":{"name":"Tomas Aparicio"},"bugs":{"url":"https://github.com/h2non/youtube-video-api/issues"},"license":"MIT","readmeFilename":"README.md","users":{"chirag_purohit71085":true}}