mirror of
https://github.com/LukeHagar/plexjs.git
synced 2025-12-06 04:20:46 +00:00
* `plex-api.butler.startTask()`: * `request` **Changed** **Breaking** ⚠️ * `error` **Changed** **Breaking** ⚠️ * `plex-api.butler.stopTask()`: * `request` **Changed** **Breaking** ⚠️ * `error` **Changed** **Breaking** ⚠️ * `plex-api.updater.applyUpdates()`: * `request` **Changed** **Breaking** ⚠️ * `error` **Changed** **Breaking** ⚠️ * `plex-api.general.getServerInfo()`: **Added** * `plex-api.general.getIdentity()`: **Added** * `plex-api.general.getSourceConnectionInformation()`: **Added** * `plex-api.general.getTransientToken()`: **Added** * `plex-api.events.getNotifications()`: **Added** * `plex-api.events.connectWebSocket()`: **Added** * `plex-api.preferences.getAllPreferences()`: **Added** * `plex-api.preferences.setPreferences()`: **Added** * `plex-api.preferences.getPreference()`: **Added** * `plex-api.rate.setRating()`: **Added** * `plex-api.timeline.markPlayed()`: **Added** * `plex-api.timeline.report()`: **Added** * `plex-api.timeline.unscrobble()`: **Added** * `plex-api.activities.listActivities()`: **Added** * `plex-api.activities.cancelActivity()`: **Added** * `plex-api.butler.stopTasks()`: **Added** * `plex-api.butler.getTasks()`: **Added** * `plex-api.butler.startTasks()`: **Added** * `plex-api.downloadQueue.createDownloadQueue()`: **Added** * `plex-api.downloadQueue.getDownloadQueue()`: **Added** * `plex-api.downloadQueue.addDownloadQueueItems()`: **Added** * `plex-api.downloadQueue.listDownloadQueueItems()`: **Added** * `plex-api.downloadQueue.getItemDecision()`: **Added** * `plex-api.downloadQueue.getDownloadQueueMedia()`: **Added** * `plex-api.downloadQueue.removeDownloadQueueItems()`: **Added** * `plex-api.downloadQueue.getDownloadQueueItems()`: **Added** * `plex-api.downloadQueue.restartProcessingDownloadQueueItems()`: **Added** * `plex-api.hubs.getAllHubs()`: **Added** * `plex-api.hubs.getContinueWatching()`: **Added** * `plex-api.hubs.getHubItems()`: **Added** * `plex-api.hubs.getPromotedHubs()`: **Added** * `plex-api.hubs.getMetadataHubs()`: **Added** * `plex-api.hubs.getPostplayHubs()`: **Added** * `plex-api.hubs.getRelatedHubs()`: **Added** * `plex-api.hubs.getSectionHubs()`: **Added** * `plex-api.hubs.resetSectionDefaults()`: **Added** * `plex-api.hubs.listHubs()`: **Added** * `plex-api.hubs.createCustomHub()`: **Added** * `plex-api.hubs.moveHub()`: **Added** * `plex-api.hubs.deleteCustomHub()`: **Added** * `plex-api.hubs.updateHubVisibility()`: **Added** * `plex-api.search.searchHubs()`: **Added** * `plex-api.search.voiceSearchHubs()`: **Added** * `plex-api.library.getLibraryItems()`: **Added** * `plex-api.library.deleteCaches()`: **Added** * `plex-api.library.cleanBundles()`: **Added** * `plex-api.library.ingestTransientItem()`: **Added** * `plex-api.library.getLibraryMatches()`: **Added** * `plex-api.library.optimizeDatabase()`: **Added** * `plex-api.library.getRandomArtwork()`: **Added** * `plex-api.library.getSections()`: **Added** * `plex-api.library.addSection()`: **Added** * `plex-api.library.stopAllRefreshes()`: **Added** * `plex-api.library.getSectionsPrefs()`: **Added** * `plex-api.library.refreshSectionsMetadata()`: **Added** * `plex-api.library.getTags()`: **Added** * `plex-api.library.deleteMetadataItem()`: **Added** * `plex-api.library.editMetadataItem()`: **Added** * `plex-api.library.detectAds()`: **Added** * `plex-api.library.getAllItemLeaves()`: **Added** * `plex-api.library.analyzeMetadata()`: **Added** * `plex-api.library.generateThumbs()`: **Added** * `plex-api.library.detectCredits()`: **Added** * `plex-api.library.getExtras()`: **Added** * `plex-api.library.addExtras()`: **Added** * `plex-api.library.getFile()`: **Added** * `plex-api.library.startBifGeneration()`: **Added** * `plex-api.library.detectIntros()`: **Added** * `plex-api.library.createMarker()`: **Added** * `plex-api.library.matchItem()`: **Added** * `plex-api.library.listMatches()`: **Added** * `plex-api.library.mergeItems()`: **Added** * `plex-api.library.listSonicallySimilar()`: **Added** * `plex-api.library.setItemPreferences()`: **Added** * `plex-api.library.refreshItemsMetadata()`: **Added** * `plex-api.library.getRelatedItems()`: **Added** * `plex-api.library.listSimilar()`: **Added** * `plex-api.library.splitItem()`: **Added** * `plex-api.library.addSubtitles()`: **Added** * `plex-api.library.getItemTree()`: **Added** * `plex-api.library.unmatch()`: **Added** * `plex-api.library.listTopUsers()`: **Added** * `plex-api.library.detectVoiceActivity()`: **Added** * `plex-api.library.getAugmentationStatus()`: **Added** * `plex-api.library.setStreamSelection()`: **Added** * `plex-api.library.getPerson()`: **Added** * `plex-api.library.listPersonMedia()`: **Added** * `plex-api.library.deleteLibrarySection()`: **Added** * `plex-api.library.getLibraryDetails()`: **Added** * `plex-api.library.editSection()`: **Added** * `plex-api.library.updateItems()`: **Added** * `plex-api.library.startAnalysis()`: **Added** * `plex-api.library.autocomplete()`: **Added** * `plex-api.library.getCollections()`: **Added** * `plex-api.library.getCommon()`: **Added** * `plex-api.library.emptyTrash()`: **Added** * `plex-api.library.getSectionFilters()`: **Added** * `plex-api.library.getFirstCharacters()`: **Added** * `plex-api.library.deleteIndexes()`: **Added** * `plex-api.library.deleteIntros()`: **Added** * `plex-api.library.getSectionPreferences()`: **Added** * `plex-api.library.setSectionPreferences()`: **Added** * `plex-api.library.cancelRefresh()`: **Added** * `plex-api.library.refreshSection()`: **Added** * `plex-api.library.getAvailableSorts()`: **Added** * `plex-api.library.getStreamLevels()`: **Added** * `plex-api.library.getStreamLoudness()`: **Added** * `plex-api.library.getChapterImage()`: **Added** * `plex-api.library.setItemArtwork()`: **Added** * `plex-api.library.updateItemArtwork()`: **Added** * `plex-api.library.deleteMarker()`: **Added** * `plex-api.library.editMarker()`: **Added** * `plex-api.library.deleteMediaItem()`: **Added** * `plex-api.library.getPartIndex()`: **Added** * `plex-api.library.deleteCollection()`: **Added** * `plex-api.library.getSectionImage()`: **Added** * `plex-api.library.deleteStream()`: **Added** * `plex-api.library.getStream()`: **Added** * `plex-api.library.setStreamOffset()`: **Added** * `plex-api.library.getItemArtwork()`: **Added** * `plex-api.library.getMediaPart()`: **Added** * `plex-api.library.getImageFromBif()`: **Added** * `plex-api.collections.createCollection()`: **Added** * `plex-api.dvRs.listDvRs()`: **Added** * `plex-api.dvRs.createDvr()`: **Added** * `plex-api.dvRs.deleteDvr()`: **Added** * `plex-api.dvRs.getDvr()`: **Added** * `plex-api.dvRs.deleteLineup()`: **Added** * `plex-api.dvRs.addLineup()`: **Added** * `plex-api.dvRs.setDvrPreferences()`: **Added** * `plex-api.dvRs.stopDvrReload()`: **Added** * `plex-api.dvRs.reloadGuide()`: **Added** * `plex-api.dvRs.tuneChannel()`: **Added** * `plex-api.dvRs.removeDeviceFromDvr()`: **Added** * `plex-api.dvRs.addDeviceToDvr()`: **Added** * `plex-api.epg.computeChannelMap()`: **Added** * `plex-api.epg.getChannels()`: **Added** * `plex-api.epg.getCountries()`: **Added** * `plex-api.epg.getAllLanguages()`: **Added** * `plex-api.epg.getLineup()`: **Added** * `plex-api.epg.getLineupChannels()`: **Added** * `plex-api.epg.getCountriesLineups()`: **Added** * `plex-api.epg.getCountryRegions()`: **Added** * `plex-api.epg.listLineups()`: **Added** * `plex-api.liveTv.getSessions()`: **Added** * `plex-api.liveTv.getLiveTvSession()`: **Added** * `plex-api.liveTv.getSessionPlaylistIndex()`: **Added** * `plex-api.liveTv.getSessionSegment()`: **Added** * `plex-api.log.writeLog()`: **Added** * `plex-api.log.writeMessage()`: **Added** * `plex-api.log.enablePapertrail()`: **Added** * `plex-api.devices.getAvailableGrabbers()`: **Added** * `plex-api.devices.listDevices()`: **Added** * `plex-api.devices.addDevice()`: **Added** * `plex-api.devices.discoverDevices()`: **Added** * `plex-api.devices.removeDevice()`: **Added** * `plex-api.devices.getDeviceDetails()`: **Added** * `plex-api.devices.modifyDevice()`: **Added** * `plex-api.devices.setChannelmap()`: **Added** * `plex-api.devices.getDevicesChannels()`: **Added** * `plex-api.devices.setDevicePreferences()`: **Added** * `plex-api.devices.stopScan()`: **Added** * `plex-api.devices.scan()`: **Added** * `plex-api.devices.getThumb()`: **Added** * `plex-api.provider.listProviders()`: **Added** * `plex-api.provider.addProvider()`: **Added** * `plex-api.provider.refreshProviders()`: **Added** * `plex-api.provider.deleteMediaProvider()`: **Added** * `plex-api.subscriptions.getAllSubscriptions()`: **Added** * `plex-api.subscriptions.createSubscription()`: **Added** * `plex-api.subscriptions.processSubscriptions()`: **Added** * `plex-api.subscriptions.getScheduledRecordings()`: **Added** * `plex-api.subscriptions.getTemplate()`: **Added** * `plex-api.subscriptions.cancelGrab()`: **Added** * `plex-api.subscriptions.deleteSubscription()`: **Added** * `plex-api.subscriptions.getSubscription()`: **Added** * `plex-api.subscriptions.editSubscriptionPreferences()`: **Added** * `plex-api.subscriptions.reorderSubscription()`: **Added** * `plex-api.transcoder.transcodeImage()`: **Added** * `plex-api.transcoder.makeDecision()`: **Added** * `plex-api.transcoder.triggerFallback()`: **Added** * `plex-api.transcoder.transcodeSubtitles()`: **Added** * `plex-api.transcoder.startTranscodeSession()`: **Added** * `plex-api.playlist.listPlaylists()`: **Added** * `plex-api.playlist.getPlaylist()`: **Added** * `plex-api.playlist.getPlaylistItems()`: **Added** * `plex-api.libraryPlaylists.createPlaylist()`: **Added** * `plex-api.libraryPlaylists.uploadPlaylist()`: **Added** * `plex-api.libraryPlaylists.deletePlaylist()`: **Added** * `plex-api.libraryPlaylists.updatePlaylist()`: **Added** * `plex-api.libraryPlaylists.getPlaylistGenerators()`: **Added** * `plex-api.libraryPlaylists.clearPlaylistItems()`: **Added** * `plex-api.libraryPlaylists.addPlaylistItems()`: **Added** * `plex-api.libraryPlaylists.deletePlaylistItem()`: **Added** * `plex-api.libraryPlaylists.getPlaylistGenerator()`: **Added** * `plex-api.libraryPlaylists.modifyPlaylistGenerator()`: **Added** * `plex-api.libraryPlaylists.getPlaylistGeneratorItems()`: **Added** * `plex-api.libraryPlaylists.movePlaylistItem()`: **Added** * `plex-api.libraryPlaylists.refreshPlaylist()`: **Added** * `plex-api.playQueue.createPlayQueue()`: **Added** * `plex-api.playQueue.getPlayQueue()`: **Added** * `plex-api.playQueue.addToPlayQueue()`: **Added** * `plex-api.playQueue.clearPlayQueue()`: **Added** * `plex-api.playQueue.resetPlayQueue()`: **Added** * `plex-api.playQueue.shuffle()`: **Added** * `plex-api.playQueue.unshuffle()`: **Added** * `plex-api.playQueue.deletePlayQueueItem()`: **Added** * `plex-api.playQueue.movePlayQueueItem()`: **Added** * `plex-api.ultraBlur.getColors()`: **Added** * `plex-api.ultraBlur.getImage()`: **Added** * `plex-api.status.listSessions()`: **Added** * `plex-api.status.getBackgroundTasks()`: **Added** * `plex-api.status.listPlaybackHistory()`: **Added** * `plex-api.status.terminateSession()`: **Added** * `plex-api.status.deleteHistory()`: **Added** * `plex-api.status.getHistoryItem()`: **Added** * `plex-api.updater.checkUpdates()`: **Added** * `plex-api.updater.getUpdatesStatus()`: **Added** * `plex-api.content.getCollectionItems()`: **Added** * `plex-api.content.getMetadataItem()`: **Added** * `plex-api.content.getAlbums()`: **Added** * `plex-api.content.listContent()`: **Added** * `plex-api.content.getAllLeaves()`: **Added** * `plex-api.content.getArts()`: **Added** * `plex-api.content.getCategories()`: **Added** * `plex-api.content.getCluster()`: **Added** * `plex-api.content.getSonicPath()`: **Added** * `plex-api.content.getFolders()`: **Added** * `plex-api.content.listMoments()`: **Added** * `plex-api.content.getSonicallySimilar()`: **Added** * `plex-api.content.getCollectionImage()`: **Added** * `plex-api.libraryCollections.addCollectionItems()`: **Added** * `plex-api.libraryCollections.deleteCollectionItem()`: **Added** * `plex-api.libraryCollections.moveCollectionItem()`: **Added** * `plex-api.server.getServerCapabilities()`: **Deleted** **Breaking** ⚠️ * `plex-api.server.getServerPreferences()`: **Deleted** **Breaking** ⚠️ * `plex-api.server.getAvailableClients()`: **Deleted** **Breaking** ⚠️ * `plex-api.server.getDevices()`: **Deleted** **Breaking** ⚠️ * `plex-api.server.getServerIdentity()`: **Deleted** **Breaking** ⚠️ * `plex-api.server.getMyPlexAccount()`: **Deleted** **Breaking** ⚠️ * `plex-api.server.getResizedPhoto()`: **Deleted** **Breaking** ⚠️ * `plex-api.server.getMediaProviders()`: **Deleted** **Breaking** ⚠️ * `plex-api.server.getServerList()`: **Deleted** **Breaking** ⚠️ * `plex-api.media.markPlayed()`: **Deleted** **Breaking** ⚠️ * `plex-api.media.markUnplayed()`: **Deleted** **Breaking** ⚠️ * `plex-api.media.updatePlayProgress()`: **Deleted** **Breaking** ⚠️ * `plex-api.media.getBannerImage()`: **Deleted** **Breaking** ⚠️ * `plex-api.media.getThumbImage()`: **Deleted** **Breaking** ⚠️ * `plex-api.video.getTimeline()`: **Deleted** **Breaking** ⚠️ * `plex-api.video.startUniversalTranscode()`: **Deleted** **Breaking** ⚠️ * `plex-api.activities.getServerActivities()`: **Deleted** **Breaking** ⚠️ * `plex-api.activities.cancelServerActivities()`: **Deleted** **Breaking** ⚠️ * `plex-api.butler.getButlerTasks()`: **Deleted** **Breaking** ⚠️ * `plex-api.butler.startAllTasks()`: **Deleted** **Breaking** ⚠️ * `plex-api.butler.stopAllTasks()`: **Deleted** **Breaking** ⚠️ * `plex-api.plex.getCompanionsData()`: **Deleted** **Breaking** ⚠️ * `plex-api.plex.getUserFriends()`: **Deleted** **Breaking** ⚠️ * `plex-api.plex.getGeoData()`: **Deleted** **Breaking** ⚠️ * `plex-api.plex.getHomeData()`: **Deleted** **Breaking** ⚠️ * `plex-api.plex.getServerResources()`: **Deleted** **Breaking** ⚠️ * `plex-api.plex.getPin()`: **Deleted** **Breaking** ⚠️ * `plex-api.plex.getTokenByPinId()`: **Deleted** **Breaking** ⚠️ * `plex-api.hubs.getGlobalHubs()`: **Deleted** **Breaking** ⚠️ * `plex-api.hubs.getRecentlyAdded()`: **Deleted** **Breaking** ⚠️ * `plex-api.hubs.getLibraryHubs()`: **Deleted** **Breaking** ⚠️ * `plex-api.search.performSearch()`: **Deleted** **Breaking** ⚠️ * `plex-api.search.performVoiceSearch()`: **Deleted** **Breaking** ⚠️ * `plex-api.search.getSearchResults()`: **Deleted** **Breaking** ⚠️ * `plex-api.library.getFileHash()`: **Deleted** **Breaking** ⚠️ * `plex-api.library.getRecentlyAddedLibrary()`: **Deleted** **Breaking** ⚠️ * `plex-api.library.getAllLibraries()`: **Deleted** **Breaking** ⚠️ * `plex-api.library.getLibraryDetails()`: **Deleted** **Breaking** ⚠️ * `plex-api.library.deleteLibrary()`: **Deleted** **Breaking** ⚠️ * `plex-api.library.getLibraryItems()`: **Deleted** **Breaking** ⚠️ * `plex-api.library.getLibrarySectionsAll()`: **Deleted** **Breaking** ⚠️ * `plex-api.library.getRefreshLibraryMetadata()`: **Deleted** **Breaking** ⚠️ * `plex-api.library.getSearchLibrary()`: **Deleted** **Breaking** ⚠️ * `plex-api.library.getGenresLibrary()`: **Deleted** **Breaking** ⚠️ * `plex-api.library.getCountriesLibrary()`: **Deleted** **Breaking** ⚠️ * `plex-api.library.getActorsLibrary()`: **Deleted** **Breaking** ⚠️ * `plex-api.library.getSearchAllLibraries()`: **Deleted** **Breaking** ⚠️ * `plex-api.library.getMediaMetaData()`: **Deleted** **Breaking** ⚠️ * `plex-api.library.getMediaArts()`: **Deleted** **Breaking** ⚠️ * `plex-api.library.postMediaArts()`: **Deleted** **Breaking** ⚠️ * `plex-api.library.getMediaPosters()`: **Deleted** **Breaking** ⚠️ * `plex-api.library.postMediaPoster()`: **Deleted** **Breaking** ⚠️ * `plex-api.library.getMetadataChildren()`: **Deleted** **Breaking** ⚠️ * `plex-api.library.getTopWatchedContent()`: **Deleted** **Breaking** ⚠️ * `plex-api.watchlist.getWatchList()`: **Deleted** **Breaking** ⚠️ * `plex-api.log.logLine()`: **Deleted** **Breaking** ⚠️ * `plex-api.log.logMultiLine()`: **Deleted** **Breaking** ⚠️ * `plex-api.log.enablePaperTrail()`: **Deleted** **Breaking** ⚠️ * `plex-api.playlists.createPlaylist()`: **Deleted** **Breaking** ⚠️ * `plex-api.playlists.getPlaylists()`: **Deleted** **Breaking** ⚠️ * `plex-api.playlists.getPlaylist()`: **Deleted** **Breaking** ⚠️ * `plex-api.playlists.deletePlaylist()`: **Deleted** **Breaking** ⚠️ * `plex-api.playlists.updatePlaylist()`: **Deleted** **Breaking** ⚠️ * `plex-api.playlists.getPlaylistContents()`: **Deleted** **Breaking** ⚠️ * `plex-api.playlists.clearPlaylistContents()`: **Deleted** **Breaking** ⚠️ * `plex-api.playlists.addPlaylistContents()`: **Deleted** **Breaking** ⚠️ * `plex-api.playlists.uploadPlaylist()`: **Deleted** **Breaking** ⚠️ * `plex-api.authentication.getTransientToken()`: **Deleted** **Breaking** ⚠️ * `plex-api.authentication.getSourceConnectionInformation()`: **Deleted** **Breaking** ⚠️ * `plex-api.authentication.getTokenDetails()`: **Deleted** **Breaking** ⚠️ * `plex-api.authentication.postUsersSignInData()`: **Deleted** **Breaking** ⚠️ * `plex-api.statistics.getStatistics()`: **Deleted** **Breaking** ⚠️ * `plex-api.statistics.getResourcesStatistics()`: **Deleted** **Breaking** ⚠️ * `plex-api.statistics.getBandwidthStatistics()`: **Deleted** **Breaking** ⚠️ * `plex-api.sessions.getSessions()`: **Deleted** **Breaking** ⚠️ * `plex-api.sessions.getSessionHistory()`: **Deleted** **Breaking** ⚠️ * `plex-api.sessions.getTranscodeSessions()`: **Deleted** **Breaking** ⚠️ * `plex-api.sessions.stopTranscodeSession()`: **Deleted** **Breaking** ⚠️ * `plex-api.updater.getUpdateStatus()`: **Deleted** **Breaking** ⚠️ * `plex-api.updater.checkForUpdates()`: **Deleted** **Breaking** ⚠️ * `plex-api.users.getUsers()`: **Deleted** **Breaking** ⚠️
1231 lines
82 KiB
Markdown
1231 lines
82 KiB
Markdown
# Content
|
|
(*content*)
|
|
|
|
## Overview
|
|
|
|
The actual content of the media provider
|
|
|
|
### Available Operations
|
|
|
|
* [getCollectionItems](#getcollectionitems) - Get items in a collection
|
|
* [getMetadataItem](#getmetadataitem) - Get a metadata item
|
|
* [getAlbums](#getalbums) - Set section albums
|
|
* [listContent](#listcontent) - Get items in the section
|
|
* [getAllLeaves](#getallleaves) - Set section leaves
|
|
* [getArts](#getarts) - Set section artwork
|
|
* [getCategories](#getcategories) - Set section categories
|
|
* [getCluster](#getcluster) - Set section clusters
|
|
* [getSonicPath](#getsonicpath) - Similar tracks to transition from one to another
|
|
* [getFolders](#getfolders) - Get all folder locations
|
|
* [listMoments](#listmoments) - Set section moments
|
|
* [getSonicallySimilar](#getsonicallysimilar) - The nearest audio tracks
|
|
* [getCollectionImage](#getcollectionimage) - Get a collection's image
|
|
|
|
## getCollectionItems
|
|
|
|
Get items in a collection. Note if this collection contains more than 100 items, paging must be used.
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="typescript" operationID="getCollectionItems" method="get" path="/library/collections/{collectionId}/items" -->
|
|
```typescript
|
|
import { PlexAPI } from "@lukehagar/plexjs";
|
|
|
|
const plexAPI = new PlexAPI({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const result = await plexAPI.content.getCollectionItems({
|
|
collectionId: 314585,
|
|
});
|
|
|
|
console.log(result);
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Standalone function
|
|
|
|
The standalone function version of this method:
|
|
|
|
```typescript
|
|
import { PlexAPICore } from "@lukehagar/plexjs/core.js";
|
|
import { contentGetCollectionItems } from "@lukehagar/plexjs/funcs/contentGetCollectionItems.js";
|
|
|
|
// Use `PlexAPICore` for best tree-shaking performance.
|
|
// You can create one instance of it to use across an application.
|
|
const plexAPI = new PlexAPICore({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const res = await contentGetCollectionItems(plexAPI, {
|
|
collectionId: 314585,
|
|
});
|
|
if (res.ok) {
|
|
const { value: result } = res;
|
|
console.log(result);
|
|
} else {
|
|
console.log("contentGetCollectionItems failed:", res.error);
|
|
}
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
| `request` | [operations.GetCollectionItemsRequest](../../sdk/models/operations/getcollectionitemsrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. |
|
|
| `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. |
|
|
| `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. |
|
|
|
|
### Response
|
|
|
|
**Promise\<[operations.GetCollectionItemsResponse](../../sdk/models/operations/getcollectionitemsresponse.md)\>**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## getMetadataItem
|
|
|
|
Get one or more metadata items.
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="typescript" operationID="getMetadataItem" method="get" path="/library/metadata/{ids}" -->
|
|
```typescript
|
|
import { PlexAPI } from "@lukehagar/plexjs";
|
|
import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|
|
|
const plexAPI = new PlexAPI({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const result = await plexAPI.content.getMetadataItem({
|
|
ids: [],
|
|
asyncCheckFiles: BoolInt.One,
|
|
asyncRefreshLocalMediaAgent: BoolInt.One,
|
|
asyncRefreshAnalysis: BoolInt.One,
|
|
checkFiles: BoolInt.One,
|
|
skipRefresh: BoolInt.One,
|
|
checkFileAvailability: BoolInt.One,
|
|
asyncAugmentMetadata: BoolInt.One,
|
|
augmentCount: BoolInt.One,
|
|
});
|
|
|
|
console.log(result);
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Standalone function
|
|
|
|
The standalone function version of this method:
|
|
|
|
```typescript
|
|
import { PlexAPICore } from "@lukehagar/plexjs/core.js";
|
|
import { contentGetMetadataItem } from "@lukehagar/plexjs/funcs/contentGetMetadataItem.js";
|
|
import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared";
|
|
|
|
// Use `PlexAPICore` for best tree-shaking performance.
|
|
// You can create one instance of it to use across an application.
|
|
const plexAPI = new PlexAPICore({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const res = await contentGetMetadataItem(plexAPI, {
|
|
ids: [],
|
|
asyncCheckFiles: BoolInt.One,
|
|
asyncRefreshLocalMediaAgent: BoolInt.One,
|
|
asyncRefreshAnalysis: BoolInt.One,
|
|
checkFiles: BoolInt.One,
|
|
skipRefresh: BoolInt.One,
|
|
checkFileAvailability: BoolInt.One,
|
|
asyncAugmentMetadata: BoolInt.One,
|
|
augmentCount: BoolInt.One,
|
|
});
|
|
if (res.ok) {
|
|
const { value: result } = res;
|
|
console.log(result);
|
|
} else {
|
|
console.log("contentGetMetadataItem failed:", res.error);
|
|
}
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
| `request` | [operations.GetMetadataItemRequest](../../sdk/models/operations/getmetadataitemrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. |
|
|
| `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. |
|
|
| `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. |
|
|
|
|
### Response
|
|
|
|
**Promise\<[operations.GetMetadataItemResponse](../../sdk/models/operations/getmetadataitemresponse.md)\>**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## getAlbums
|
|
|
|
Get all albums in a music section
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="typescript" operationID="getAlbums" method="get" path="/library/sections/{sectionId}/albums" -->
|
|
```typescript
|
|
import { PlexAPI } from "@lukehagar/plexjs";
|
|
|
|
const plexAPI = new PlexAPI({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const result = await plexAPI.content.getAlbums({
|
|
sectionId: 817133,
|
|
});
|
|
|
|
console.log(result);
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Standalone function
|
|
|
|
The standalone function version of this method:
|
|
|
|
```typescript
|
|
import { PlexAPICore } from "@lukehagar/plexjs/core.js";
|
|
import { contentGetAlbums } from "@lukehagar/plexjs/funcs/contentGetAlbums.js";
|
|
|
|
// Use `PlexAPICore` for best tree-shaking performance.
|
|
// You can create one instance of it to use across an application.
|
|
const plexAPI = new PlexAPICore({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const res = await contentGetAlbums(plexAPI, {
|
|
sectionId: 817133,
|
|
});
|
|
if (res.ok) {
|
|
const { value: result } = res;
|
|
console.log(result);
|
|
} else {
|
|
console.log("contentGetAlbums failed:", res.error);
|
|
}
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
| `request` | [operations.GetAlbumsRequest](../../sdk/models/operations/getalbumsrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. |
|
|
| `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. |
|
|
| `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. |
|
|
|
|
### Response
|
|
|
|
**Promise\<[operations.GetAlbumsResponse](../../sdk/models/operations/getalbumsresponse.md)\>**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## listContent
|
|
|
|
Get the items in a section, potentially filtering them
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="typescript" operationID="listContent" method="get" path="/library/sections/{sectionId}/all" -->
|
|
```typescript
|
|
import { PlexAPI } from "@lukehagar/plexjs";
|
|
|
|
const plexAPI = new PlexAPI({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const result = await plexAPI.content.listContent({
|
|
sectionId: "<id>",
|
|
});
|
|
|
|
console.log(result);
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Standalone function
|
|
|
|
The standalone function version of this method:
|
|
|
|
```typescript
|
|
import { PlexAPICore } from "@lukehagar/plexjs/core.js";
|
|
import { contentListContent } from "@lukehagar/plexjs/funcs/contentListContent.js";
|
|
|
|
// Use `PlexAPICore` for best tree-shaking performance.
|
|
// You can create one instance of it to use across an application.
|
|
const plexAPI = new PlexAPICore({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const res = await contentListContent(plexAPI, {
|
|
sectionId: "<id>",
|
|
});
|
|
if (res.ok) {
|
|
const { value: result } = res;
|
|
console.log(result);
|
|
} else {
|
|
console.log("contentListContent failed:", res.error);
|
|
}
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
| `request` | [operations.ListContentRequest](../../sdk/models/operations/listcontentrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. |
|
|
| `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. |
|
|
| `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. |
|
|
|
|
### Response
|
|
|
|
**Promise\<[operations.ListContentResponse](../../sdk/models/operations/listcontentresponse.md)\>**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## getAllLeaves
|
|
|
|
Get all leaves in a section (such as episodes in a show section)
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="typescript" operationID="getAllLeaves" method="get" path="/library/sections/{sectionId}/allLeaves" -->
|
|
```typescript
|
|
import { PlexAPI } from "@lukehagar/plexjs";
|
|
|
|
const plexAPI = new PlexAPI({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const result = await plexAPI.content.getAllLeaves({
|
|
sectionId: 633197,
|
|
});
|
|
|
|
console.log(result);
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Standalone function
|
|
|
|
The standalone function version of this method:
|
|
|
|
```typescript
|
|
import { PlexAPICore } from "@lukehagar/plexjs/core.js";
|
|
import { contentGetAllLeaves } from "@lukehagar/plexjs/funcs/contentGetAllLeaves.js";
|
|
|
|
// Use `PlexAPICore` for best tree-shaking performance.
|
|
// You can create one instance of it to use across an application.
|
|
const plexAPI = new PlexAPICore({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const res = await contentGetAllLeaves(plexAPI, {
|
|
sectionId: 633197,
|
|
});
|
|
if (res.ok) {
|
|
const { value: result } = res;
|
|
console.log(result);
|
|
} else {
|
|
console.log("contentGetAllLeaves failed:", res.error);
|
|
}
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
| `request` | [operations.GetAllLeavesRequest](../../sdk/models/operations/getallleavesrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. |
|
|
| `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. |
|
|
| `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. |
|
|
|
|
### Response
|
|
|
|
**Promise\<[operations.GetAllLeavesResponse](../../sdk/models/operations/getallleavesresponse.md)\>**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## getArts
|
|
|
|
Get artwork for a library section
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="typescript" operationID="getArts" method="get" path="/library/sections/{sectionId}/arts" -->
|
|
```typescript
|
|
import { PlexAPI } from "@lukehagar/plexjs";
|
|
|
|
const plexAPI = new PlexAPI({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const result = await plexAPI.content.getArts({
|
|
sectionId: 859200,
|
|
});
|
|
|
|
console.log(result);
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Standalone function
|
|
|
|
The standalone function version of this method:
|
|
|
|
```typescript
|
|
import { PlexAPICore } from "@lukehagar/plexjs/core.js";
|
|
import { contentGetArts } from "@lukehagar/plexjs/funcs/contentGetArts.js";
|
|
|
|
// Use `PlexAPICore` for best tree-shaking performance.
|
|
// You can create one instance of it to use across an application.
|
|
const plexAPI = new PlexAPICore({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const res = await contentGetArts(plexAPI, {
|
|
sectionId: 859200,
|
|
});
|
|
if (res.ok) {
|
|
const { value: result } = res;
|
|
console.log(result);
|
|
} else {
|
|
console.log("contentGetArts failed:", res.error);
|
|
}
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
| `request` | [operations.GetArtsRequest](../../sdk/models/operations/getartsrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. |
|
|
| `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. |
|
|
| `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. |
|
|
|
|
### Response
|
|
|
|
**Promise\<[operations.GetArtsResponse](../../sdk/models/operations/getartsresponse.md)\>**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## getCategories
|
|
|
|
Get categories in a library section
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="typescript" operationID="getCategories" method="get" path="/library/sections/{sectionId}/categories" -->
|
|
```typescript
|
|
import { PlexAPI } from "@lukehagar/plexjs";
|
|
|
|
const plexAPI = new PlexAPI({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const result = await plexAPI.content.getCategories({
|
|
sectionId: 21841,
|
|
});
|
|
|
|
console.log(result);
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Standalone function
|
|
|
|
The standalone function version of this method:
|
|
|
|
```typescript
|
|
import { PlexAPICore } from "@lukehagar/plexjs/core.js";
|
|
import { contentGetCategories } from "@lukehagar/plexjs/funcs/contentGetCategories.js";
|
|
|
|
// Use `PlexAPICore` for best tree-shaking performance.
|
|
// You can create one instance of it to use across an application.
|
|
const plexAPI = new PlexAPICore({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const res = await contentGetCategories(plexAPI, {
|
|
sectionId: 21841,
|
|
});
|
|
if (res.ok) {
|
|
const { value: result } = res;
|
|
console.log(result);
|
|
} else {
|
|
console.log("contentGetCategories failed:", res.error);
|
|
}
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
| `request` | [operations.GetCategoriesRequest](../../sdk/models/operations/getcategoriesrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. |
|
|
| `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. |
|
|
| `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. |
|
|
|
|
### Response
|
|
|
|
**Promise\<[operations.GetCategoriesResponse](../../sdk/models/operations/getcategoriesresponse.md)\>**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## getCluster
|
|
|
|
Get clusters in a library section (typically for photos)
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="typescript" operationID="getCluster" method="get" path="/library/sections/{sectionId}/cluster" -->
|
|
```typescript
|
|
import { PlexAPI } from "@lukehagar/plexjs";
|
|
|
|
const plexAPI = new PlexAPI({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const result = await plexAPI.content.getCluster({
|
|
sectionId: 138560,
|
|
});
|
|
|
|
console.log(result);
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Standalone function
|
|
|
|
The standalone function version of this method:
|
|
|
|
```typescript
|
|
import { PlexAPICore } from "@lukehagar/plexjs/core.js";
|
|
import { contentGetCluster } from "@lukehagar/plexjs/funcs/contentGetCluster.js";
|
|
|
|
// Use `PlexAPICore` for best tree-shaking performance.
|
|
// You can create one instance of it to use across an application.
|
|
const plexAPI = new PlexAPICore({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const res = await contentGetCluster(plexAPI, {
|
|
sectionId: 138560,
|
|
});
|
|
if (res.ok) {
|
|
const { value: result } = res;
|
|
console.log(result);
|
|
} else {
|
|
console.log("contentGetCluster failed:", res.error);
|
|
}
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
| `request` | [operations.GetClusterRequest](../../sdk/models/operations/getclusterrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. |
|
|
| `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. |
|
|
| `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. |
|
|
|
|
### Response
|
|
|
|
**Promise\<[operations.GetClusterResponse](../../sdk/models/operations/getclusterresponse.md)\>**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## getSonicPath
|
|
|
|
Get a list of audio tracks starting at one and ending at another which are similar across the path
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="typescript" operationID="getSonicPath" method="get" path="/library/sections/{sectionId}/computePath" -->
|
|
```typescript
|
|
import { PlexAPI } from "@lukehagar/plexjs";
|
|
|
|
const plexAPI = new PlexAPI({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const result = await plexAPI.content.getSonicPath({
|
|
sectionId: 914549,
|
|
startID: 629990,
|
|
endID: 687740,
|
|
});
|
|
|
|
console.log(result);
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Standalone function
|
|
|
|
The standalone function version of this method:
|
|
|
|
```typescript
|
|
import { PlexAPICore } from "@lukehagar/plexjs/core.js";
|
|
import { contentGetSonicPath } from "@lukehagar/plexjs/funcs/contentGetSonicPath.js";
|
|
|
|
// Use `PlexAPICore` for best tree-shaking performance.
|
|
// You can create one instance of it to use across an application.
|
|
const plexAPI = new PlexAPICore({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const res = await contentGetSonicPath(plexAPI, {
|
|
sectionId: 914549,
|
|
startID: 629990,
|
|
endID: 687740,
|
|
});
|
|
if (res.ok) {
|
|
const { value: result } = res;
|
|
console.log(result);
|
|
} else {
|
|
console.log("contentGetSonicPath failed:", res.error);
|
|
}
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
| `request` | [operations.GetSonicPathRequest](../../sdk/models/operations/getsonicpathrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. |
|
|
| `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. |
|
|
| `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. |
|
|
|
|
### Response
|
|
|
|
**Promise\<[operations.GetSonicPathResponse](../../sdk/models/operations/getsonicpathresponse.md)\>**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## getFolders
|
|
|
|
Get all folder locations of the media in a section
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="typescript" operationID="getFolders" method="get" path="/library/sections/{sectionId}/location" -->
|
|
```typescript
|
|
import { PlexAPI } from "@lukehagar/plexjs";
|
|
|
|
const plexAPI = new PlexAPI({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const result = await plexAPI.content.getFolders({
|
|
sectionId: 892532,
|
|
});
|
|
|
|
console.log(result);
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Standalone function
|
|
|
|
The standalone function version of this method:
|
|
|
|
```typescript
|
|
import { PlexAPICore } from "@lukehagar/plexjs/core.js";
|
|
import { contentGetFolders } from "@lukehagar/plexjs/funcs/contentGetFolders.js";
|
|
|
|
// Use `PlexAPICore` for best tree-shaking performance.
|
|
// You can create one instance of it to use across an application.
|
|
const plexAPI = new PlexAPICore({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const res = await contentGetFolders(plexAPI, {
|
|
sectionId: 892532,
|
|
});
|
|
if (res.ok) {
|
|
const { value: result } = res;
|
|
console.log(result);
|
|
} else {
|
|
console.log("contentGetFolders failed:", res.error);
|
|
}
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
| `request` | [operations.GetFoldersRequest](../../sdk/models/operations/getfoldersrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. |
|
|
| `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. |
|
|
| `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. |
|
|
|
|
### Response
|
|
|
|
**Promise\<[operations.GetFoldersResponse](../../sdk/models/operations/getfoldersresponse.md)\>**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## listMoments
|
|
|
|
Get moments in a library section (typically for photos)
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="typescript" operationID="listMoments" method="get" path="/library/sections/{sectionId}/moment" -->
|
|
```typescript
|
|
import { PlexAPI } from "@lukehagar/plexjs";
|
|
|
|
const plexAPI = new PlexAPI({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const result = await plexAPI.content.listMoments({
|
|
sectionId: 403239,
|
|
});
|
|
|
|
console.log(result);
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Standalone function
|
|
|
|
The standalone function version of this method:
|
|
|
|
```typescript
|
|
import { PlexAPICore } from "@lukehagar/plexjs/core.js";
|
|
import { contentListMoments } from "@lukehagar/plexjs/funcs/contentListMoments.js";
|
|
|
|
// Use `PlexAPICore` for best tree-shaking performance.
|
|
// You can create one instance of it to use across an application.
|
|
const plexAPI = new PlexAPICore({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const res = await contentListMoments(plexAPI, {
|
|
sectionId: 403239,
|
|
});
|
|
if (res.ok) {
|
|
const { value: result } = res;
|
|
console.log(result);
|
|
} else {
|
|
console.log("contentListMoments failed:", res.error);
|
|
}
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
| `request` | [operations.ListMomentsRequest](../../sdk/models/operations/listmomentsrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. |
|
|
| `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. |
|
|
| `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. |
|
|
|
|
### Response
|
|
|
|
**Promise\<[operations.ListMomentsResponse](../../sdk/models/operations/listmomentsresponse.md)\>**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## getSonicallySimilar
|
|
|
|
Get the nearest audio tracks to a particular analysis
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="typescript" operationID="getSonicallySimilar" method="get" path="/library/sections/{sectionId}/nearest" -->
|
|
```typescript
|
|
import { PlexAPI } from "@lukehagar/plexjs";
|
|
|
|
const plexAPI = new PlexAPI({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const result = await plexAPI.content.getSonicallySimilar({
|
|
sectionId: 525956,
|
|
values: [],
|
|
});
|
|
|
|
console.log(result);
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Standalone function
|
|
|
|
The standalone function version of this method:
|
|
|
|
```typescript
|
|
import { PlexAPICore } from "@lukehagar/plexjs/core.js";
|
|
import { contentGetSonicallySimilar } from "@lukehagar/plexjs/funcs/contentGetSonicallySimilar.js";
|
|
|
|
// Use `PlexAPICore` for best tree-shaking performance.
|
|
// You can create one instance of it to use across an application.
|
|
const plexAPI = new PlexAPICore({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const res = await contentGetSonicallySimilar(plexAPI, {
|
|
sectionId: 525956,
|
|
values: [],
|
|
});
|
|
if (res.ok) {
|
|
const { value: result } = res;
|
|
console.log(result);
|
|
} else {
|
|
console.log("contentGetSonicallySimilar failed:", res.error);
|
|
}
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
| `request` | [operations.GetSonicallySimilarRequest](../../sdk/models/operations/getsonicallysimilarrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. |
|
|
| `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. |
|
|
| `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. |
|
|
|
|
### Response
|
|
|
|
**Promise\<[operations.GetSonicallySimilarResponse](../../sdk/models/operations/getsonicallysimilarresponse.md)\>**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## getCollectionImage
|
|
|
|
Get an image for the collection based on the items within
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="typescript" operationID="getCollectionImage" method="get" path="/library/collections/{collectionId}/composite/{updatedAt}" -->
|
|
```typescript
|
|
import { PlexAPI } from "@lukehagar/plexjs";
|
|
|
|
const plexAPI = new PlexAPI({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const result = await plexAPI.content.getCollectionImage({
|
|
collectionId: 474227,
|
|
updatedAt: 759379,
|
|
});
|
|
|
|
console.log(result);
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Standalone function
|
|
|
|
The standalone function version of this method:
|
|
|
|
```typescript
|
|
import { PlexAPICore } from "@lukehagar/plexjs/core.js";
|
|
import { contentGetCollectionImage } from "@lukehagar/plexjs/funcs/contentGetCollectionImage.js";
|
|
|
|
// Use `PlexAPICore` for best tree-shaking performance.
|
|
// You can create one instance of it to use across an application.
|
|
const plexAPI = new PlexAPICore({
|
|
xPlexClientIdentifier: "abc123",
|
|
xPlexProduct: "Plex for Roku",
|
|
xPlexVersion: "2.4.1",
|
|
xPlexPlatform: "Roku",
|
|
xPlexPlatformVersion: "4.3 build 1057",
|
|
xPlexDevice: "Roku 3",
|
|
xPlexModel: "4200X",
|
|
xPlexDeviceVendor: "Roku",
|
|
xPlexDeviceName: "Living Room TV",
|
|
xPlexMarketplace: "googlePlay",
|
|
});
|
|
|
|
async function run() {
|
|
const res = await contentGetCollectionImage(plexAPI, {
|
|
collectionId: 474227,
|
|
updatedAt: 759379,
|
|
});
|
|
if (res.ok) {
|
|
const { value: result } = res;
|
|
console.log(result);
|
|
} else {
|
|
console.log("contentGetCollectionImage failed:", res.error);
|
|
}
|
|
}
|
|
|
|
run();
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
| `request` | [operations.GetCollectionImageRequest](../../sdk/models/operations/getcollectionimagerequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. |
|
|
| `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. |
|
|
| `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. |
|
|
|
|
### Response
|
|
|
|
**Promise\<[operations.GetCollectionImageResponse](../../sdk/models/operations/getcollectionimageresponse.md)\>**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* | |