Files
plexphp/docs/sdks/media/README.md

164 lines
5.5 KiB
Markdown

# 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
## markPlayed
This will mark the provided media key as Played.
### Example Usage
```php
<?php
declare(strict_types=1);
require 'vendor/autoload.php';
use \LukeHagar\Plex_API;
use \LukeHagar\Plex_API\Models\Components;
use \LukeHagar\Plex_API\Models\Operations;
$security = new Components\Security();
$security->accessToken = '<YOUR_API_KEY_HERE>';
$sdk = Plex_API\PlexAPI::builder()
->setXPlexClientIdentifier('Postman')
->setSecurity($security)->build();
try {
$response = $sdk->media->markPlayed(59398);
if ($response->statusCode === 200) {
// handle response
}
} catch (Throwable $e) {
// handle exception
}
```
### Parameters
| Parameter | Type | Required | Description | Example |
| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- |
| `key` | *float* | :heavy_check_mark: | The media key to mark as played | 59398 |
### Response
**[?\LukeHagar\Plex_API\Models\Operations\MarkPlayedResponse](../../Models/Operations/MarkPlayedResponse.md)**
## markUnplayed
This will mark the provided media key as Unplayed.
### Example Usage
```php
<?php
declare(strict_types=1);
require 'vendor/autoload.php';
use \LukeHagar\Plex_API;
use \LukeHagar\Plex_API\Models\Components;
use \LukeHagar\Plex_API\Models\Operations;
$security = new Components\Security();
$security->accessToken = '<YOUR_API_KEY_HERE>';
$sdk = Plex_API\PlexAPI::builder()
->setXPlexClientIdentifier('Postman')
->setSecurity($security)->build();
try {
$response = $sdk->media->markUnplayed(59398);
if ($response->statusCode === 200) {
// handle response
}
} catch (Throwable $e) {
// handle exception
}
```
### Parameters
| Parameter | Type | Required | Description | Example |
| --------------------------------- | --------------------------------- | --------------------------------- | --------------------------------- | --------------------------------- |
| `key` | *float* | :heavy_check_mark: | The media key to mark as Unplayed | 59398 |
### Response
**[?\LukeHagar\Plex_API\Models\Operations\MarkUnplayedResponse](../../Models/Operations/MarkUnplayedResponse.md)**
## updatePlayProgress
This API command can be used to update the play progress of a media item.
### Example Usage
```php
<?php
declare(strict_types=1);
require 'vendor/autoload.php';
use \LukeHagar\Plex_API;
use \LukeHagar\Plex_API\Models\Components;
use \LukeHagar\Plex_API\Models\Operations;
$security = new Components\Security();
$security->accessToken = '<YOUR_API_KEY_HERE>';
$sdk = Plex_API\PlexAPI::builder()
->setXPlexClientIdentifier('Postman')
->setSecurity($security)->build();
try {
$response = $sdk->media->updatePlayProgress('<value>', 90000, 'played');
if ($response->statusCode === 200) {
// handle response
}
} catch (Throwable $e) {
// handle exception
}
```
### Parameters
| Parameter | Type | Required | Description | Example |
| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
| `key` | *string* | :heavy_check_mark: | the media key | |
| `time` | *float* | :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
**[?\LukeHagar\Plex_API\Models\Operations\UpdatePlayProgressResponse](../../Models/Operations/UpdatePlayProgressResponse.md)**