Launching Media via API

Server Version#: 1.21.0.3711 (linux Plex Server)
Player Version#: 7.9.3.8721 (TCL Roku TV)

I have been trying to launch media on my roku TV running plex app via API and I have finally made some progress with the following api call:

POST http://<roku_ip>:8324/player/playback/playMedia?
key=/library/metadata/71855&
offset=0&
machineIdentifier=<plex_server_id>&
address=<plex_server_ip>&
port=32400

With the Plex app running on the roku TV, this call launches and plays the correct video file, but the offset doesn’t appear to be working. I have tried 0 and various numbers, no difference. It continues to play where it left off rather than starting at the offset. really, I just want the video to start at the beginning.

Has anyone ran into this problem or have any idea what I might be doing wrong on that one?

I have tried the following parameters in the api call as well which make no difference:
token=<plex_server_token>
X-Plex-Token=<plex_server_token>
commandID=
type=video
protocol=http
X-Plex-Client-Identifier=<roku_plex_client_id>
path=http://<plex_server_ip>:32400/library/metadata/71855

I have exhausted my google-fu and can’t seem to figure this one out. Help me Obi-wan Kenobi, you are my only hope! Thank you!

You don’t make POST calls. You need to make GET calls. Here is a good reference point if you haven’t found it yet.

1 Like

Atomatth, thank you for your response! that is very helpful. Let me play around with it and see if I can get it working that way. Thanks!

I think some of my confusion is regarding the difference between the PLEX SERVER and the PLEX CLIENT. I started with information from this 7 year old forum post :
Got my Roku to Play Plex movies via API

It had some useful instructions that seem to be relevant today still:

  1. Get key (media id) from the VIEW XML page, looks like this:
    key=“/library/metadata/6”

  2. From the XML info page, grab the X-Plex-Token from URL:
    X-Plex-Token=<PLEX_SERVER_TOKEN>

  3. hit the plex server root api endpoint to gather machineIdentifier of PLEX_SERVER:
    GET http://<PLEX_SERVER_IP>:32400?X-Plex-Token=<PLEX_SERVER_TOKEN>

  4. hit the plex server clients api endpoint to gather machineIdentifier, address, and port of PLEX_CLIENT (rokutv in my case):
    GET http://<PLEX_SERVER_IP>:32400/clients?X-Plex-Token=<PLEX_SERVER_TOKEN>

Now these instructions indicate to send the api call to the PLEX CLIENT rather than the server (using port obtained in step 4 above, 8324 in my case)

Can you help me confirm if that would be correct for the instructions you posted?

It shows http://IP:PORT/player/playback/playMedia

Would this be referring to the IP and PORT of the PLEX_CLIENT (rokutv in my case) ?

Thank you!

Yes. The reddit post mentions this.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.