mirror of
https://github.com/LukeHagar/plexcsharp.git
synced 2025-12-06 12:37:46 +00:00
217 lines
12 KiB
Markdown
217 lines
12 KiB
Markdown
# Media
|
|
(*Media*)
|
|
|
|
## Overview
|
|
|
|
API Calls interacting with Plex Media Server Media
|
|
|
|
|
|
### Available Operations
|
|
|
|
* [MarkPlayed](#markplayed) - Mark Media Played
|
|
* [MarkUnplayed](#markunplayed) - Mark Media Unplayed
|
|
* [UpdatePlayProgress](#updateplayprogress) - Update Media Play Progress
|
|
* [GetBannerImage](#getbannerimage) - Get Banner Image
|
|
* [GetThumbImage](#getthumbimage) - Get Thumb Image
|
|
|
|
## MarkPlayed
|
|
|
|
This will mark the provided media key as Played.
|
|
|
|
### Example Usage
|
|
|
|
```csharp
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Media.MarkPlayedAsync(key: 59398D);
|
|
|
|
// handle response
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description | Example |
|
|
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
|
|
| `Key` | *double* | :heavy_check_mark: | The media key to mark as played | 59398 |
|
|
|
|
### Response
|
|
|
|
**[MarkPlayedResponse](../../Models/Requests/MarkPlayedResponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- |
|
|
| LukeHagar.PlexAPI.SDK.Models.Errors.MarkPlayedBadRequest | 400 | application/json |
|
|
| LukeHagar.PlexAPI.SDK.Models.Errors.MarkPlayedUnauthorized | 401 | application/json |
|
|
| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* |
|
|
|
|
## MarkUnplayed
|
|
|
|
This will mark the provided media key as Unplayed.
|
|
|
|
### Example Usage
|
|
|
|
```csharp
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Media.MarkUnplayedAsync(key: 59398D);
|
|
|
|
// handle response
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description | Example |
|
|
| --------------------------------- | --------------------------------- | --------------------------------- | --------------------------------- | --------------------------------- |
|
|
| `Key` | *double* | :heavy_check_mark: | The media key to mark as Unplayed | 59398 |
|
|
|
|
### Response
|
|
|
|
**[MarkUnplayedResponse](../../Models/Requests/MarkUnplayedResponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
|
|
| LukeHagar.PlexAPI.SDK.Models.Errors.MarkUnplayedBadRequest | 400 | application/json |
|
|
| LukeHagar.PlexAPI.SDK.Models.Errors.MarkUnplayedUnauthorized | 401 | application/json |
|
|
| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* |
|
|
|
|
## UpdatePlayProgress
|
|
|
|
This API command can be used to update the play progress of a media item.
|
|
|
|
|
|
### Example Usage
|
|
|
|
```csharp
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
var res = await sdk.Media.UpdatePlayProgressAsync(
|
|
key: "<key>",
|
|
time: 90000D,
|
|
state: "played"
|
|
);
|
|
|
|
// handle response
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description | Example |
|
|
| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
|
|
| `Key` | *string* | :heavy_check_mark: | the media key | |
|
|
| `Time` | *double* | :heavy_check_mark: | The time, in milliseconds, used to set the media playback progress. | 90000 |
|
|
| `State` | *string* | :heavy_check_mark: | The playback state of the media item. | played |
|
|
|
|
### Response
|
|
|
|
**[UpdatePlayProgressResponse](../../Models/Requests/UpdatePlayProgressResponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
|
|
| LukeHagar.PlexAPI.SDK.Models.Errors.UpdatePlayProgressBadRequest | 400 | application/json |
|
|
| LukeHagar.PlexAPI.SDK.Models.Errors.UpdatePlayProgressUnauthorized | 401 | application/json |
|
|
| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* |
|
|
|
|
## GetBannerImage
|
|
|
|
Gets the banner image of the media item
|
|
|
|
### Example Usage
|
|
|
|
```csharp
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
using LukeHagar.PlexAPI.SDK.Models.Requests;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
GetBannerImageRequest req = new GetBannerImageRequest() {
|
|
RatingKey = 9518,
|
|
Width = 396,
|
|
Height = 396,
|
|
MinSize = 1,
|
|
Upscale = 1,
|
|
XPlexToken = "CV5xoxjTpFKUzBTShsaf",
|
|
};
|
|
|
|
var res = await sdk.Media.GetBannerImageAsync(req);
|
|
|
|
// handle response
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
|
|
| `request` | [GetBannerImageRequest](../../Models/Requests/GetBannerImageRequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
|
|
### Response
|
|
|
|
**[GetBannerImageResponse](../../Models/Requests/GetBannerImageResponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
|
|
| LukeHagar.PlexAPI.SDK.Models.Errors.GetBannerImageBadRequest | 400 | application/json |
|
|
| LukeHagar.PlexAPI.SDK.Models.Errors.GetBannerImageUnauthorized | 401 | application/json |
|
|
| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* |
|
|
|
|
## GetThumbImage
|
|
|
|
Gets the thumbnail image of the media item
|
|
|
|
### Example Usage
|
|
|
|
```csharp
|
|
using LukeHagar.PlexAPI.SDK;
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
using LukeHagar.PlexAPI.SDK.Models.Requests;
|
|
|
|
var sdk = new PlexAPI(accessToken: "<YOUR_API_KEY_HERE>");
|
|
|
|
GetThumbImageRequest req = new GetThumbImageRequest() {
|
|
RatingKey = 9518,
|
|
Width = 396,
|
|
Height = 396,
|
|
MinSize = 1,
|
|
Upscale = 1,
|
|
XPlexToken = "CV5xoxjTpFKUzBTShsaf",
|
|
};
|
|
|
|
var res = await sdk.Media.GetThumbImageAsync(req);
|
|
|
|
// handle response
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
|
| `request` | [GetThumbImageRequest](../../Models/Requests/GetThumbImageRequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
|
|
### Response
|
|
|
|
**[GetThumbImageResponse](../../Models/Requests/GetThumbImageResponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
|
|
| LukeHagar.PlexAPI.SDK.Models.Errors.GetThumbImageBadRequest | 400 | application/json |
|
|
| LukeHagar.PlexAPI.SDK.Models.Errors.GetThumbImageUnauthorized | 401 | application/json |
|
|
| LukeHagar.PlexAPI.SDK.Models.Errors.SDKException | 4XX, 5XX | \*/\* | |