24 KiB
Server
(Server)
Overview
Operations against the Plex Media Server System.
Available Operations
- GetServerCapabilities - Get Server Capabilities
- GetServerPreferences - Get Server Preferences
- GetAvailableClients - Get Available Clients
- GetDevices - Get Devices
- GetServerIdentity - Get Server Identity
- GetMyPlexAccount - Get MyPlex Account
- GetResizedPhoto - Get a Resized Photo
- GetMediaProviders - Get Media Providers
- GetServerList - Get Server List
GetServerCapabilities
Get Server Capabilities
Example Usage
package main
import(
"github.com/LukeHagar/plexgo"
"context"
"log"
)
func main() {
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
plexgo.WithClientID("3381b62b-9ab7-4e37-827b-203e9809eb58"),
plexgo.WithClientName("Plex for Roku"),
plexgo.WithClientVersion("2.4.1"),
plexgo.WithPlatform("Roku"),
plexgo.WithDeviceNickname("Roku 3"),
)
ctx := context.Background()
res, err := s.Server.GetServerCapabilities(ctx)
if err != nil {
log.Fatal(err)
}
if res.Object != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.GetServerCapabilitiesResponse, error
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| sdkerrors.GetServerCapabilitiesBadRequest | 400 | application/json |
| sdkerrors.GetServerCapabilitiesUnauthorized | 401 | application/json |
| sdkerrors.SDKError | 4XX, 5XX | */* |
GetServerPreferences
Get Server Preferences
Example Usage
package main
import(
"github.com/LukeHagar/plexgo"
"context"
"log"
)
func main() {
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
plexgo.WithClientID("3381b62b-9ab7-4e37-827b-203e9809eb58"),
plexgo.WithClientName("Plex for Roku"),
plexgo.WithClientVersion("2.4.1"),
plexgo.WithPlatform("Roku"),
plexgo.WithDeviceNickname("Roku 3"),
)
ctx := context.Background()
res, err := s.Server.GetServerPreferences(ctx)
if err != nil {
log.Fatal(err)
}
if res.Object != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.GetServerPreferencesResponse, error
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| sdkerrors.GetServerPreferencesBadRequest | 400 | application/json |
| sdkerrors.GetServerPreferencesUnauthorized | 401 | application/json |
| sdkerrors.SDKError | 4XX, 5XX | */* |
GetAvailableClients
Get Available Clients
Example Usage
package main
import(
"github.com/LukeHagar/plexgo"
"context"
"log"
)
func main() {
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
plexgo.WithClientID("3381b62b-9ab7-4e37-827b-203e9809eb58"),
plexgo.WithClientName("Plex for Roku"),
plexgo.WithClientVersion("2.4.1"),
plexgo.WithPlatform("Roku"),
plexgo.WithDeviceNickname("Roku 3"),
)
ctx := context.Background()
res, err := s.Server.GetAvailableClients(ctx)
if err != nil {
log.Fatal(err)
}
if res.Object != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.GetAvailableClientsResponse, error
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| sdkerrors.GetAvailableClientsBadRequest | 400 | application/json |
| sdkerrors.GetAvailableClientsUnauthorized | 401 | application/json |
| sdkerrors.SDKError | 4XX, 5XX | */* |
GetDevices
Get Devices
Example Usage
package main
import(
"github.com/LukeHagar/plexgo"
"context"
"log"
)
func main() {
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
plexgo.WithClientID("3381b62b-9ab7-4e37-827b-203e9809eb58"),
plexgo.WithClientName("Plex for Roku"),
plexgo.WithClientVersion("2.4.1"),
plexgo.WithPlatform("Roku"),
plexgo.WithDeviceNickname("Roku 3"),
)
ctx := context.Background()
res, err := s.Server.GetDevices(ctx)
if err != nil {
log.Fatal(err)
}
if res.Object != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.GetDevicesResponse, error
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| sdkerrors.GetDevicesBadRequest | 400 | application/json |
| sdkerrors.GetDevicesUnauthorized | 401 | application/json |
| sdkerrors.SDKError | 4XX, 5XX | */* |
GetServerIdentity
This request is useful to determine if the server is online or offline
Example Usage
package main
import(
"github.com/LukeHagar/plexgo"
"context"
"log"
)
func main() {
s := plexgo.New(
plexgo.WithClientID("3381b62b-9ab7-4e37-827b-203e9809eb58"),
plexgo.WithClientName("Plex for Roku"),
plexgo.WithClientVersion("2.4.1"),
plexgo.WithPlatform("Roku"),
plexgo.WithDeviceNickname("Roku 3"),
)
ctx := context.Background()
res, err := s.Server.GetServerIdentity(ctx)
if err != nil {
log.Fatal(err)
}
if res.Object != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.GetServerIdentityResponse, error
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| sdkerrors.GetServerIdentityRequestTimeout | 408 | application/json |
| sdkerrors.SDKError | 4XX, 5XX | */* |
GetMyPlexAccount
Returns MyPlex Account Information
Example Usage
package main
import(
"github.com/LukeHagar/plexgo"
"context"
"log"
)
func main() {
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
plexgo.WithClientID("3381b62b-9ab7-4e37-827b-203e9809eb58"),
plexgo.WithClientName("Plex for Roku"),
plexgo.WithClientVersion("2.4.1"),
plexgo.WithPlatform("Roku"),
plexgo.WithDeviceNickname("Roku 3"),
)
ctx := context.Background()
res, err := s.Server.GetMyPlexAccount(ctx)
if err != nil {
log.Fatal(err)
}
if res.Object != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.GetMyPlexAccountResponse, error
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| sdkerrors.GetMyPlexAccountBadRequest | 400 | application/json |
| sdkerrors.GetMyPlexAccountUnauthorized | 401 | application/json |
| sdkerrors.SDKError | 4XX, 5XX | */* |
GetResizedPhoto
Plex's Photo transcoder is used throughout the service to serve images at specified sizes.
Example Usage
package main
import(
"github.com/LukeHagar/plexgo"
"context"
"github.com/LukeHagar/plexgo/models/operations"
"log"
)
func main() {
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
plexgo.WithClientID("3381b62b-9ab7-4e37-827b-203e9809eb58"),
plexgo.WithClientName("Plex for Roku"),
plexgo.WithClientVersion("2.4.1"),
plexgo.WithPlatform("Roku"),
plexgo.WithDeviceNickname("Roku 3"),
)
ctx := context.Background()
res, err := s.Server.GetResizedPhoto(ctx, operations.GetResizedPhotoRequest{
Width: 110,
Height: 165,
Opacity: 100,
Blur: 0,
MinSize: operations.MinSizeOne,
Upscale: operations.UpscaleOne,
URL: "/library/metadata/49564/thumb/1654258204",
})
if err != nil {
log.Fatal(err)
}
if res != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.GetResizedPhotoRequest | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.GetResizedPhotoResponse, error
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| sdkerrors.GetResizedPhotoBadRequest | 400 | application/json |
| sdkerrors.GetResizedPhotoUnauthorized | 401 | application/json |
| sdkerrors.SDKError | 4XX, 5XX | */* |
GetMediaProviders
Retrieves media providers and their features from the Plex server.
Example Usage
package main
import(
"github.com/LukeHagar/plexgo"
"context"
"log"
)
func main() {
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
plexgo.WithClientID("3381b62b-9ab7-4e37-827b-203e9809eb58"),
plexgo.WithClientName("Plex for Roku"),
plexgo.WithClientVersion("2.4.1"),
plexgo.WithPlatform("Roku"),
plexgo.WithDeviceNickname("Roku 3"),
)
ctx := context.Background()
res, err := s.Server.GetMediaProviders(ctx, "CV5xoxjTpFKUzBTShsaf")
if err != nil {
log.Fatal(err)
}
if res.Object != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. | |
xPlexToken |
string | ✔️ | An authentication token, obtained from plex.tv | CV5xoxjTpFKUzBTShsaf |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.GetMediaProvidersResponse, error
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| sdkerrors.GetMediaProvidersBadRequest | 400 | application/json |
| sdkerrors.GetMediaProvidersUnauthorized | 401 | application/json |
| sdkerrors.SDKError | 4XX, 5XX | */* |
GetServerList
Get Server List
Example Usage
package main
import(
"github.com/LukeHagar/plexgo"
"context"
"log"
)
func main() {
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
plexgo.WithClientID("3381b62b-9ab7-4e37-827b-203e9809eb58"),
plexgo.WithClientName("Plex for Roku"),
plexgo.WithClientVersion("2.4.1"),
plexgo.WithPlatform("Roku"),
plexgo.WithDeviceNickname("Roku 3"),
)
ctx := context.Background()
res, err := s.Server.GetServerList(ctx)
if err != nil {
log.Fatal(err)
}
if res.Object != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.GetServerListResponse, error
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| sdkerrors.GetServerListBadRequest | 400 | application/json |
| sdkerrors.GetServerListUnauthorized | 401 | application/json |
| sdkerrors.SDKError | 4XX, 5XX | */* |