Export Youtube Playlist in tab delimited text

Creates the current playlist as tab delimited text to be easily copied

< Feedback on Export Youtube Playlist in tab delimited text

Review: Good - script works

§
Posted: 2024-04-28

This excellent script has just stopped working for me. Sometime after 22/04/2024. I have re-installed Tampermonkey to Firefox. I have re-installed version 1.0.5 of this script. the "Export list as tab delimited text" button no longer appears on the Playlist title panel.
I am not a developer, but I am resonably computer literate and will provide any info I can if requested.

max44Author
§
Posted: 2024-04-29

It still works for me. Please make a screenshot of this playlist: https://www.youtube.com/playlist?list=PLJT9DkQoasJVqrok5pKDZAx2mZU0_oLa9 so I can compare your view and mine. And tell me whether you use any script which changes the interface of Youtube, for example, "7ktTube | 2016 REDUX"?

§
Posted: 2024-04-29

Hi, screenshot of playlist attached. I have already checked quite a few of my many playlists, all no go.
AFAIK this script is the only one I use.
Screenshot of Tampermonkey Installed Userscripts attached.
I have added a screenshot of all Firefox extensions I have, if that's any help.

max44Author
§
Posted: 2024-04-29

So, the only explanation I can imagine is that Youtube made some different css design for your region. Please right-click on the space between "play all" and "shuffle" buttons and select "inspect (q)" menu. Then please make a screenshot - I need to see the css tree.

§
Posted: 2024-04-29

Here you go.
Looks to me like some script to create the button has gone missing.
My region is New Zealand.

BTW, I tried installing Tampermonkey and this script on my Lounge Tower PC's copy of Firefox, it is the same.
Also, the same day I noticed the script not working, 27/04/24, there was an update to Windows 10, KB5036979. I tried uninstalling it, but it made no difference, so I have succumbed to Windows Update notifications and re-installed it.
Thanks for your help. It is now evening here, I may not reply until morning. I guess this is not a panic situation, so take your time. :-)

max44Author
§
Posted: 2024-04-29

Well, your css tree is the same as mine. So the reason is somewhere inside your system. Please try the new version - it has simplier css selector code and no reference to external jquery library.

§
Posted: 2024-04-30

I have updated to V1.0.6, no change.
WRT my previous reply "Looks to me like some script to create the button has gone missing.", I wondered if these events in the Console tab are significant?
Ref attached screencap and exported text pasted below: -

"performance.now precision has been modified for compatibility reasons. See https://bugzilla.mozilla.org/show_bug.cgi?id=1756970 for details. bug1842437-www.youtube.com-performance-now-precision.js:18:9
LegacyDataMixin will be applied to all legacy elements.
Set `_legacyUndefinedCheck: true` on element class to enable. desktop_polymer.js:5154:9
Some cookies are misusing the recommended “SameSite“ attribute 48
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://googleads.g.doubleclick.net/pagead/id. (Reason: CORS request did not succeed). Status code: (null).
The resource at “https://i.ytimg.com/generate_204†preloaded with link preload was not used within a few seconds. Make sure all attributes of the preload tag are set correctly. playlist
Uncaught ReferenceError: $ is not defined
InsertButtonASAP moz-extension://ba241094-be8c-446d-8908-8894c6af35ad/userscripts/Export-Youtube-Playlist-in-tab-delimited-text.user.js?id=ec201b51-3550-4a01-be16-28aa9695910c:30
window["__f__lvlrm4k2.myg"]/

https://www.youtube.com/playlist?list=PLJT9DkQoasJVqrok5pKDZAx2mZU0_oLa9:83
m https://www.youtube.com/playlist?list=PLJT9DkQoasJVqrok5pKDZAx2mZU0_oLa9:78
playlist:30:5
MouseEvent.mozPressure is deprecated. Use PointerEvent.pressure instead. desktop_polymer.js:2052:51
MouseEvent.mozInputSource is deprecated. Use PointerEvent.pointerType instead. desktop_polymer.js:2052:51
Content-Security-Policy: Ignoring “'unsafe-inline'†within script-src: nonce-source or hash-source specified RotateCookiesPage
XHRPOST
https://play.google.com/log?format=json&hasfast=true&authuser=0
[HTTP/3 401 224ms]

XHRPOST
https://play.google.com/log?format=json&hasfast=true&authuser=0
[HTTP/3 401 221ms]

XHRPOST
https://play.google.com/log?format=json&hasfast=true&authuser=0
[HTTP/3 401 215ms]"

max44Author
§
Posted: 2024-04-30

Thank you, now I see the reason. Please check the new version. Hopefully it will work. If not, I'll have to rewrite some parts of the script.

§
Posted: 2024-04-30

I have updated to Version 1.0.7. Still no "Export list as tab delimited text" button. The "inspect (q)" screenshot (ref attached) looks the same.
However, the Console tab has changed, fewer entries, they all fit in the screencap now, and no specific mention of the button is present. Ref attached screencap and exported text pasted below: -

"performance.now precision has been modified for compatibility reasons. See https://bugzilla.mozilla.org/show_bug.cgi?id=1756970 for details. bug1842437-www.youtube.com-performance-now-precision.js:18:9
Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead playlist:3:22
LegacyDataMixin will be applied to all legacy elements.
Set `_legacyUndefinedCheck: true` on element class to enable. desktop_polymer.js:5156:9
Some cookies are misusing the recommended “SameSite“ attribute 70
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://googleads.g.doubleclick.net/pagead/id. (Reason: CORS request did not succeed). Status code: (null).
The resource at “https://i.ytimg.com/generate_204†preloaded with link preload was not used within a few seconds. Make sure all attributes of the preload tag are set correctly. playlist
Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead persist_identity:3:22
MouseEvent.mozPressure is deprecated. Use PointerEvent.pressure instead. desktop_polymer.js:2052:51
MouseEvent.mozInputSource is deprecated. Use PointerEvent.pointerType instead. desktop_polymer.js:2052:51
Content-Security-Policy: Ignoring “'unsafe-inline'†within script-src: nonce-source or hash-source specified RotateCookiesPage
Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead RotateCookiesPage:3:22
Content-Security-Policy: The page’s settings blocked an event handler (script-src-attr) from being executed because it violates the following directive: “script-src 'nonce-077c290b496c600236c0ebd13780bb05' 'nonce-oGTguBE36oD0sWBr1p2hfQ' 'unsafe-inline'†3 RotateCookiesPage:4:11930
Content-Security-Policy: The page’s settings blocked an event handler (script-src-attr) from being executed because it violates the following directive: “script-src 'nonce-077c290b496c600236c0ebd13780bb05' 'nonce-oGTguBE36oD0sWBr1p2hfQ' 'unsafe-inline'†3 RotateCookiesPage:4:12055
Some cookies are misusing the recommended “SameSite“ attribute 24
XHRPOST
https://play.google.com/log?format=json&hasfast=true&authuser=0
[HTTP/3 401 209ms]

XHRPOST
https://play.google.com/log?format=json&hasfast=true&authuser=0
[HTTP/3 401 225ms]

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://googleads.g.doubleclick.net/pagead/id. (Reason: CORS request did not succeed). Status code: (null).
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://googleads.g.doubleclick.net/pagead/id. (Reason: CORS request did not succeed). Status code: (null)."

max44Author
§
Posted: 2024-05-01

New version is ready. Hopefully it could help.

§
Posted: 2024-05-02

I have updated to Version 1.1. Still no "Export list as tab delimited text" button. The "inspect (q)" screenshot is attached.
The Console tab has changed. Ref attached screencap and exported text pasted below: -

"performance.now precision has been modified for compatibility reasons. See https://bugzilla.mozilla.org/show_bug.cgi?id=1756970 for details. bug1842437-www.youtube.com-performance-now-precision.js:18:9
Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead playlist:3:22
LegacyDataMixin will be applied to all legacy elements.
Set `_legacyUndefinedCheck: true` on element class to enable. desktop_polymer.js:5156:9
Some cookies are misusing the recommended “SameSite“ attribute 53
MouseEvent.mozPressure is deprecated. Use PointerEvent.pressure instead. desktop_polymer.js:2052:51
MouseEvent.mozInputSource is deprecated. Use PointerEvent.pointerType instead. desktop_polymer.js:2052:51
The resource at “https://i.ytimg.com/generate_204” preloaded with link preload was not used within a few seconds. Make sure all attributes of the preload tag are set correctly. playlist
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://googleads.g.doubleclick.net/pagead/id. (Reason: CORS request did not succeed). Status code: (null).
Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead persist_identity:3:22
Content-Security-Policy: Ignoring “'unsafe-inline'” within script-src: nonce-source or hash-source specified RotateCookiesPage
Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead RotateCookiesPage:3:22
Content-Security-Policy: The page’s settings blocked an event handler (script-src-attr) from being executed because it violates the following directive: “script-src 'nonce-713bf75521b012b47d17eea75a2e72ff' 'nonce-soTMObTcJBF5TfmW1ROBMA' 'unsafe-inline'” 3 RotateCookiesPage:4:11930
Content-Security-Policy: The page’s settings blocked an event handler (script-src-attr) from being executed because it violates the following directive: “script-src 'nonce-713bf75521b012b47d17eea75a2e72ff' 'nonce-soTMObTcJBF5TfmW1ROBMA' 'unsafe-inline'” 3 RotateCookiesPage:4:12055
XHRPOST
https://play.google.com/log?format=json&hasfast=true&authuser=0
[HTTP/3 401 395ms]

XHRPOST
https://play.google.com/log?format=json&hasfast=true&authuser=0
[HTTP/3 401 249ms]

XHRPOST
https://play.google.com/log?format=json&hasfast=true&authuser=0
[HTTP/3 401 237ms]

XHRPOST
https://play.google.com/log?format=json&hasfast=true&authuser=0
[HTTP/3 401 262ms]

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://googleads.g.doubleclick.net/pagead/id. (Reason: CORS request did not succeed). Status code: (null).
Some cookies are misusing the recommended “SameSite“ attribute 6
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://googleads.g.doubleclick.net/pagead/id. (Reason: CORS request did not succeed). Status code: (null)."

max44Author
§
Posted: 2024-05-02
Edited: 2024-05-02

Well, my last idea, looking at your console log, is that RotateCookiesPage blocks inserting of my button. What is it? I tried to find it among mozilla addons and greasyfork scripts, but there was nothing.

And please try to install this script: https://greasyfork.org/en/scripts/383993-export-youtube-playlist-in-plaintext
Does it work for you?

§
Posted: 2024-05-02

I installed "Export Youtube Playlist in plaintext". I uninstalled "Export list as tab delimited text" Version 1.1 in case of conflicts.
It doesn't work for me either. "RotateCookiesPage" doesn't appear in the Console tab.
The "inspect (q)" screencap, and the Console tab screencap are attached and Console exported text pasted below: -
I then uninstalled "Export Youtube Playlist in plaintext", and reinstalled "Export list as tab delimited text" Version 1.1 to have a look at "RotateCookiesPage" entries in the Console tab.

The entry "Content-Security-Policy: Ignoring “'unsafe-inline'” within script-src: nonce-source or hash-source specified RotateCookiesPage" has a link on the text "RotateCookiesPage" to this: -


The entry "Content-Security-Policy: The page’s settings blocked an event handler (script-src-attr) from being executed because it violates the following directive: “script-src 'nonce-f7af134986c4c067c3749e604372c988' 'nonce-5D9eYxh8wNiaCFHwA-yR1w' 'unsafe-inline'” 3 RotateCookiesPage:4:11930" has a link on the text "RotateCookiesPage:4:11930" to this, all one line: -

Error 400 (Bad Request)!!1

400. That’s an error.

The server cannot process the request because it is malformed. It should not be retried. That’s all we know.

Let me know if there is anything more I can do to help. Your efforts are much appreciated.


Debug Script console-export-2024-5-3_9-45-10 plaintext script only: -

"performance.now precision has been modified for compatibility reasons. See https://bugzilla.mozilla.org/show_bug.cgi?id=1756970 for details. bug1842437-www.youtube.com-performance-now-precision.js:18:9
Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead playlist:3:22
LegacyDataMixin will be applied to all legacy elements.
Set `_legacyUndefinedCheck: true` on element class to enable. desktop_polymer.js:5156:9
Some cookies are misusing the recommended “SameSite“ attribute 57
The resource at “https://i.ytimg.com/generate_204” preloaded with link preload was not used within a few seconds. Make sure all attributes of the preload tag are set correctly. playlist
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://googleads.g.doubleclick.net/pagead/id. (Reason: CORS request did not succeed). Status code: (null).
Content-Security-Policy: Ignoring ‘x-frame-options’ because of ‘frame-ancestors’ directive.
Content-Security-Policy warnings 2
Content-Security-Policy: The page’s settings blocked an inline script (script-src-elem) from being executed because it violates the following directive: “script-src 'nonce-9Kg00dd5Anc4kEfJhVQpuA' 'unsafe-inline'” 2 content.js:60:457
MouseEvent.mozPressure is deprecated. Use PointerEvent.pressure instead. desktop_polymer.js:2052:51
MouseEvent.mozInputSource is deprecated. Use PointerEvent.pointerType instead. desktop_polymer.js:2052:51
XHRPOST
https://play.google.com/log?format=json&hasfast=true&authuser=0
[HTTP/3 401 215ms]

XHRPOST
https://play.google.com/log?format=json&hasfast=true&authuser=0
[HTTP/3 401 244ms]

XHRPOST
https://play.google.com/log?format=json&hasfast=true&authuser=0
[HTTP/3 401 225ms]

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://googleads.g.doubleclick.net/pagead/id. (Reason: CORS request did not succeed). Status code: (null).
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://googleads.g.doubleclick.net/pagead/id. (Reason: CORS request did not succeed). Status code: (null).
Some cookies are misusing the recommended “SameSite“ attribute 6"

max44Author
§
Posted: 2024-05-02

Please try "Export Youtube Playlist in plaintext" again. It does not insert the button in the way my script does. Instead it adds a new menu item to 3-dot button (which is above the "play all" button). And tell me th result.

§
Posted: 2024-05-02

Oh dear! Greasyfork has seen the info text I pasted in as active HTML or something, it has gone AWOL.
I will try another way instead.

The entry "Content-Security-Policy: Ignoring “'unsafe-inline'” within script-src: nonce-source or hash-source specified RotateCookiesPage" has a link on the text "RotateCookiesPage" to this URL: - https://accounts.youtube.com/RotateCookiesPage?origin=https://www.youtube.com&yt_pid=1
That page has text: - ref attached - Debug Script console RotateCookiesPage link text 1.jpg

The entry "Content-Security-Policy: The page’s settings blocked an event handler (script-src-attr) from being executed because it violates the following directive: “script-src 'nonce-f7af134986c4c067c3749e604372c988' 'nonce-5D9eYxh8wNiaCFHwA-yR1w' 'unsafe-inline'” 3 RotateCookiesPage:4:11930" has a link on the text "RotateCookiesPage:4:11930" to this URL: - https://accounts.youtube.com/RotateCookiesPage?origin=https://www.youtube.com&yt_pid=1%20line%209%20%3E%20injectedScript
That page has text: - ref attached - Debug Script console RotateCookiesPage link text 2.jpg


Let me know if there is anything more I can do to help. Your efforts are much appreciated.

max44Author
§
Posted: 2024-05-03

Ahaha, right now my script stopped working for me too :D

§
Posted: 2024-05-03

I have just seen your reply, some progress!

"Export Youtube Playlist in plaintex" works fine for me.

Just as a quick test, I was even able to specify "comma" as a delineator, and copy the text into a .csv file and import that to OpenOffice Calc as a spreadsheet.

max44Author
§
Posted: 2024-05-03

It seems I found the reason when my script stops to work for me. Please try new version.

§
Posted: 2024-05-03

Success!
Screenshots of the playlist and the result of my usage of the script.

max44Author
§
Posted: 2024-05-03

You know what has happened? Usually Youtube does not transfer all the users to new interface at once. So for compatibility reasons I left the code which works with old interface too.

Now youtube desided to return the old interface, but hide it in order not to spoil the new interface. For you it happened few days ago, for me - today. And the script successfully added the button in your case too - but to the hidden visual element. So I just make a verification which avoids such situation.

§
Posted: 2024-05-03

Many, many thanks for all your work, it is much appreciated!

§
Posted: 2024-05-04

Comment to update rating, problem was due to changes at Youtube, not creator's fault.

Post reply

Sign in to post a reply.