mirror of
https://github.com/LukeHagar/plexgo.git
synced 2025-12-06 04:20:46 +00:00
15 KiB
15 KiB
Plex
(Plex)
Overview
API Calls that perform operations directly against https://Plex.tv
Available Operations
- GetHomeData - Get Plex Home Data
- GetPin - Get a Pin
- GetToken - Get Access Token
GetHomeData
Retrieves the home data for the authenticated user, including details like home ID, name, guest access information, and subscription status.
Example Usage
package main
import(
"github.com/LukeHagar/plexgo"
"context"
"log"
)
func main() {
s := plexgo.New(
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
plexgo.WithXPlexClientIdentifier("Postman"),
)
ctx := context.Background()
res, err := s.Plex.GetHomeData(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. |
Response
*operations.GetHomeDataResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.GetHomeDataResponseBody | 401 | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
GetPin
Retrieve a Pin from Plex.tv for authentication flows
Example Usage
package main
import(
"github.com/LukeHagar/plexgo"
"context"
"log"
)
func main() {
s := plexgo.New(
plexgo.WithXPlexClientIdentifier("Postman"),
)
var xPlexProduct string = "Postman"
var strong *bool = plexgo.Bool(false)
var xPlexClientIdentifier *string = plexgo.String("Postman")
ctx := context.Background()
res, err := s.Plex.GetPin(ctx, xPlexProduct, strong, xPlexClientIdentifier)
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. | |
xPlexProduct |
string | ✔️ | Product name of the application shown in the list of devices |
Postman |
strong |
*bool | ➖ | Determines the kind of code returned by the API call Strong codes are used for Pin authentication flows Non-Strong codes are used for Plex.tv/link |
|
xPlexClientIdentifier |
*string | ➖ | The unique identifier for the client application This is used to track the client application and its usage (UUID, serial number, or other number unique per device) |
Postman |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.GetPinResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.GetPinResponseBody | 400 | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
GetToken
Retrieve an Access Token from Plex.tv after the Pin has already been authenticated
Example Usage
package main
import(
"github.com/LukeHagar/plexgo"
"context"
"log"
)
func main() {
s := plexgo.New(
plexgo.WithXPlexClientIdentifier("Postman"),
)
var pinID string = "<value>"
var xPlexClientIdentifier *string = plexgo.String("Postman")
ctx := context.Background()
res, err := s.Plex.GetToken(ctx, pinID, xPlexClientIdentifier)
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. | |
pinID |
string | ✔️ | The PinID to retrieve an access token for | |
xPlexClientIdentifier |
*string | ➖ | The unique identifier for the client application This is used to track the client application and its usage (UUID, serial number, or other number unique per device) |
Postman |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.GetTokenResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.GetTokenResponseBody | 400 | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |