Here’s what my m3u file looks like:
And here’s what my Postman script looks like:
See anything conflicting there?
Here’s what my m3u file looks like:
And here’s what my Postman script looks like:
See anything conflicting there?
Follow up questions:
Have you already defined this directory path:
\192.168.1.9\Synology Media\Music
under your Music library in Plex?
Have you scanned your Music library?
Without these preliminary actions, no playlist will work.
The Synology drive is at 192.168.1.9 on my local network. This is how it is under Plex. Are you saying that I need to have /volume1/Synology Media/Music as my paths within the m3u file?
I have scanned my music library under Plex several times as well as run a few Refresh Metadata scans to alleviate the issue where tracks didn’t have a title. Fixed that though.
Yes, I think so. If PMS thinks your files are located under /volume1/Synology Media/Music then you should have a playlist referencing that path, which means you’re gonna have to do a global replace of
\\192.168.1.9\
in your playlist with
\volume1\
I tried changing it a few different ways while I was waiting for your reply.
I changed \192.168.1.9\ to:
No go with any combination of the above.
Does everything look good with my Postman POST command?
Yes your postman command looks good.
Try /volume1 again and replace \ with / in your playlist.
That is
/volume1/Synology Media/Music/The Gaslight Anthem/Handwritten/45.mp3
Also please double check that the path
/volume1/Synology Media/Music/The Gaslight Anthem/Handwritten
exists in your Plex Media Server.
Maybe you should, after making your changes, save your playlist to a path that is local to your Plex server just to be sure.
Confirmed. All path names in the m3u file have been changed to
No joy.
Double checked and double confirmed. Good thought though.
The m3u file is currently on my PC and I am pushing it to my Synology drive. So my POST command looks like this:
If I dropped d.m3u on /volume1/Synology Media/download/d.m3u, would I alter anything in the Postman command? Or it’s just to have it local on the drive? Should I be referencing the m3u on the Synology in any way during the process?
Are you running Postman on your Plex server? If so, then if you dropped d.m3u on /volume1/Synology Media/download then you’d have to change your post command to show that path
http://192.168.1.9:32400/playlists/upload?sectionID=5&path=/volume1/Synology Media/download/d.m3u&X-Plex-Token=nuDYoDsby749Us2Yn38-
Also try changing ‘\’ to ‘/’, that is, forward slash, instead of backslash in your playlist. Assuming of course that your playlist lives in your plex server, which, I think it should.
I’m not sure how to run an instance of Postman on the Synology drive. I looked in the Package Center (app store), and I wasn’t able to find an official app. There might be a github solution, and there is a github app, but I haven’t looked into that yet. Downloading the github app now. Maybe I can emulate it locally.
This is for the Postman command? I have tried a few variations before (where the m3u file is on the Synology server and I’m running Postman on my PC), but whenever I did, I got 500 internal server error.
I should note that this is the first instance that gave me a Status 200 OK message:
But nothing has happened on the Plex server, unfortunately.
Let me try to understand a few things about your setup. Are you running PMS under Linux? Under Windows? Under Mac?
You ought to be able to go to postman’s website and get the appropriate installation media either way.
PMS runs as an app on the Synology server. I’m not sure if it’s Linux or a forked version of it that I access a GUI dashboard.
I’m unfamiliar with the Synology Server, I admit. It seems though that it is Linux based. Perhaps someone with more experience in Synology can chime in.
I’m sorry I couldn’t be of more help.
Good luck!
From my understanding of how this is supposed to work, the path in your Postman command should be the local path of the .3mu playlist file from which you are uploading. So your Postman command should look like what you had originally. My assumption is that you are uploading from a Windows computer to your Plex located on Synology NAS.
http://192.168.1.9:32400/playlists/upload?sectionID=5&path=C:\Users\Jeff\Desktop\m3u\d.m3u&X-Plex-Token=nuDYoDsby749Us2Yn38-
The path to the media files in the playlist should be absolute paths to the media files in the context of your Plex server. So in your case, the paths should all start with:
/volume1/Synology Media/Music/
For example:
/volume1/Synology Media/Music/The Gaslight Anthem/Handwritten/45.mp3
In one of your posts showing the .m3u file it repeated Synology Media/Music
twice in the path. That should only be there once.
Now that you have those changes, try to run your Postman command again and watch your console logs while it runs. Originally it might not have known what to do with those paths so it didn’t do anything. With these changes, if it doesn’t work it should at least show something in the console. When warnings are logged they will be in yellow and when errors are logged they will be in red. Everything else will be written in white.
Sorry about that. Must have happened in an edit I made doing replace all. I wasn’t running the script like that the whole time.
I ran two instances of the Postman script. The first was one without any authorization. I was curious whether there was an issue of no login credentials for my server, as I log in to the Synology each time I access the dashboard, so I turned on Basic Authorization, and tried the second time. Here are my results:
Let me know if there is anything obvious in those logs.
Plowing ahead on my own, I ended up coming across a python script that seemed to do most of the job. This JBOPS developer made a Google Play Music to Plex script that was able to access my Google account and transfer most of the songs in my playlists to Plex.
Of course, the point of this thread was to find ways for people to get playlists from any app which use m3u files to import into Plex. My issue is resolved from here though.
I would like to have a handle on a solution for the m3u file import, but I understand if there’s less drive to get a solution for my case now that my needs are largely met.
Looking at your logs, it doesn’t look like its doing anything. But part of that might be my misunderstanding of the path provided as a URL param in the command. With all the documentation I had read on this, everyone, including myself, was uploading from the same computer from which their PMS is running. I think the .m3u needs to be located on the computer, or in your case your Synology NAS, and the path to it is local to your NAS. It was kinda duh moment for myself and I apologize for leading you down the wrong path. If the .m3u playlist was indeed “uploaded” then you would have to put that in the body of the POST
which we are not doing.
So if you put your playlist .m3u files in someplace like
/volume1/Synology Media/Music/Playlists
and then changed your command to
http://192.168.1.9:32400/playlists/upload?sectionID=5&path=/volume1/Synology Media/Music/Playlists/d.m3u&X-Plex-Token=nuDYoDsby749Us2Yn38-
That might give you better results and log the processing of it in your console too. Again, sorry about the misinformation, I’m still learning some of this stuff too.
Wow, that actually worked.
I had been working with @onemojofilter to drop it just anywhere on my Synology, specifically at /volume1/Synology Media/Downloads/, but I figured I’d try making a Playlists folder in the /volume1/Synology Media/Music/Playlists directory, and that was able to trigger something within Plex. Maybe Plex knows it only has rights to access a certain folder tree? It pushed a perfect playlist of my m3u, which I guess shouldn’t be surprising since it contains the exact files and their locations in my drive, but after a few days of trying this, I’m really glad it worked.
Thanks!
Awesome!
I think you may be correct that It only has access to the tree within which the library is defined. So creating a Playlists
folder inside the library path may have been the ticket. The Downloads
path you mentioned is outside/above your library path root.
Glad you got it working