package main
import(
"context"
"github.com/LukeHagar/plexgo/models/components"
"github.com/LukeHagar/plexgo"
"github.com/LukeHagar/plexgo/models/operations"
"log"
)
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithAccepts(components.AcceptsApplicationXML),
plexgo.WithClientIdentifier("abc123"),
plexgo.WithProduct("Plex for Roku"),
plexgo.WithVersion("2.4.1"),
plexgo.WithPlatform("Roku"),
plexgo.WithPlatformVersion("4.3 build 1057"),
plexgo.WithDevice("Roku 3"),
plexgo.WithModel("4200X"),
plexgo.WithDeviceVendor("Roku"),
plexgo.WithDeviceName("Living Room TV"),
plexgo.WithMarketplace("googlePlay"),
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
res, err := s.Library.GetLibraryDetails(ctx, operations.GetLibraryDetailsRequest{
SectionID: "<id>",
IncludeDetails: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
}
if res.Object != nil {
// handle response
}
}{
"MediaContainer": {
"content": "<string>",
"allowSync": true,
"art": "<string>",
"Directory": [
{
"title": "<string>",
"type": "<string>",
"addedAt": 123,
"key": "<string>",
"absoluteIndex": 123,
"art": "/library/metadata/58683/art/1703239236",
"audienceRating": 5,
"audienceRatingImage": "<string>",
"Autotag": [
{
"tag": "Shaun Lawton",
"confidence": 123,
"context": "<string>",
"filter": "actor=49",
"id": 123,
"ratingKey": "58683",
"role": "Secretary",
"tagKey": "5d3ee12c4cde6a001c3e0b27",
"tagType": 123,
"thumb": "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg"
}
],
"banner": "<string>",
"chapterSource": "media",
"childCount": 1,
"composite": "<string>",
"contentRating": "<string>",
"Country": [
{
"tag": "Shaun Lawton",
"confidence": 123,
"context": "<string>",
"filter": "actor=49",
"id": 123,
"ratingKey": "58683",
"role": "Secretary",
"tagKey": "5d3ee12c4cde6a001c3e0b27",
"tagType": 123,
"thumb": "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg"
}
],
"Director": [
{
"tag": "Shaun Lawton",
"confidence": 123,
"context": "<string>",
"filter": "actor=49",
"id": 123,
"ratingKey": "58683",
"role": "Secretary",
"tagKey": "5d3ee12c4cde6a001c3e0b27",
"tagType": 123,
"thumb": "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg"
}
],
"duration": 123,
"Filter": [
{
"title": "<string>",
"type": "<string>",
"art": "<string>",
"content": true,
"filter": "<string>",
"hasPrefs": true,
"hasStoreServices": true,
"hubKey": "<string>",
"identifier": "<string>",
"key": "<string>",
"lastAccessedAt": 123,
"Pivot": [
{
"title": "<string>",
"type": "<string>",
"context": "<string>",
"id": "<string>",
"key": "<string>",
"symbol": "<string>"
}
],
"share": 123,
"thumb": "<string>",
"titleBar": "<string>",
"filterType": "<string>"
}
],
"Genre": [
{
"tag": "Shaun Lawton",
"confidence": 123,
"context": "<string>",
"filter": "actor=49",
"id": 123,
"ratingKey": "58683",
"role": "Secretary",
"tagKey": "5d3ee12c4cde6a001c3e0b27",
"tagType": 123,
"thumb": "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg"
}
],
"grandparentArt": "<string>",
"grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4",
"grandparentHero": "<string>",
"grandparentKey": "<string>",
"grandparentRatingKey": "<string>",
"grandparentTheme": "<string>",
"grandparentThumb": "<string>",
"grandparentTitle": "<string>",
"guid": "plex://movie/5d7768ba96b655001fdc0408",
"Guid": [
{
"id": {
"imdbExample": {
"summary": "IMDB example",
"value": "imdb://tt13015952"
},
"tmdbExample": {
"summary": "TMDB example",
"value": "tmdb://2434012"
},
"tvdbExample": {
"summary": "TVDB example",
"value": "tvdb://7945991"
}
}
}
],
"hero": "<string>",
"Image": [
{
"type": "background",
"alt": "<string>",
"url": "<string>"
}
],
"index": 123,
"lastViewedAt": 1556281940,
"leafCount": 123,
"Media": [
{
"id": 1,
"aspectRatio": 2.35,
"audioChannels": 2,
"audioCodec": "aac",
"audioProfile": "lc",
"bitrate": 5612,
"container": "mov",
"duration": 150192,
"has64bitOffsets": false,
"hasVoiceActivity": true,
"height": 544,
"optimizedForStreaming": false,
"Part": [
{
"id": 1,
"key": "/library/parts/1/1531779263/file.mov",
"accessible": true,
"audioProfile": "lc",
"container": "mov",
"duration": 150192,
"exists": true,
"file": "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
"has64bitOffsets": false,
"indexes": "sd",
"optimizedForStreaming": false,
"size": 105355654,
"Stream": [
{
"codec": "hevc",
"displayTitle": "4K DoVi/HDR10 (HEVC Main 10)",
"id": 1002625,
"key": "/library/streams/216389",
"streamType": 1,
"default": true,
"audioChannelLayout": "5.1(side)",
"channels": 6,
"bitDepth": 10,
"DOVIBLCompatID": 1,
"DOVIBLPresent": true,
"DOVIELPresent": false,
"DOVILevel": 6,
"DOVIPresent": true,
"DOVIProfile": 8,
"DOVIRPUPresent": true,
"DOVIVersion": "1.0",
"bitrate": 24743,
"canAutoSync": false,
"chromaLocation": "topleft",
"chromaSubsampling": "4:2:0",
"codedHeight": 1608,
"codedWidth": 3840,
"closedCaptions": true,
"colorPrimaries": "bt2020",
"colorRange": "tv",
"colorSpace": "bt2020nc",
"colorTrc": "smpte2084",
"extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)",
"frameRate": 23.976,
"hasScalingMatrix": false,
"height": 1602,
"index": 0,
"language": "English",
"languageCode": "eng",
"languageTag": "en",
"format": "srt",
"headerCompression": true,
"level": 150,
"original": true,
"profile": "main 10",
"refFrames": 1,
"samplingRate": 48000,
"scanType": "progressive",
"embeddedInVideo": "progressive",
"selected": true,
"forced": true,
"hearingImpaired": true,
"dub": true,
"title": "SDH",
"streamIdentifier": 1,
"width": 3840
}
],
"videoProfile": "main"
}
],
"videoCodec": "h264",
"videoFrameRate": "24p",
"videoProfile": "main",
"videoResolution": "720",
"width": 1280
}
],
"originallyAvailableAt": "2022-12-14",
"originalTitle": "<string>",
"parentGuid": "plex://show/5d9c081b170e24001f2a7be4",
"parentHero": "<string>",
"parentIndex": 123,
"parentKey": "<string>",
"parentRatingKey": "<string>",
"parentThumb": "<string>",
"parentTitle": "<string>",
"primaryExtraKey": "<string>",
"prompt": "<string>",
"rating": 5,
"Rating": [
{
"tag": "Shaun Lawton",
"confidence": 123,
"context": "<string>",
"filter": "actor=49",
"id": 123,
"ratingKey": "58683",
"role": "Secretary",
"tagKey": "5d3ee12c4cde6a001c3e0b27",
"tagType": 123,
"thumb": "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg"
}
],
"ratingCount": 123,
"ratingImage": "<string>",
"ratingKey": "<string>",
"Role": [
{
"tag": "Shaun Lawton",
"confidence": 123,
"context": "<string>",
"filter": "actor=49",
"id": 123,
"ratingKey": "58683",
"role": "Secretary",
"tagKey": "5d3ee12c4cde6a001c3e0b27",
"tagType": 123,
"thumb": "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg"
}
],
"search": true,
"secondary": true,
"skipChildren": true,
"skipParent": true,
"Sort": [
{
"title": "<string>",
"type": "<string>",
"art": "<string>",
"content": true,
"filter": "<string>",
"hasPrefs": true,
"hasStoreServices": true,
"hubKey": "<string>",
"identifier": "<string>",
"key": "<string>",
"lastAccessedAt": 123,
"Pivot": [
{
"title": "<string>",
"type": "<string>",
"context": "<string>",
"id": "<string>",
"key": "<string>",
"symbol": "<string>"
}
],
"share": 123,
"thumb": "<string>",
"titleBar": "<string>",
"default": "asc",
"defaultDirection": "asc",
"descKey": "<string>",
"firstCharacterKey": "<string>"
}
],
"studio": "<string>",
"subtype": "<string>",
"summary": "<string>",
"tagline": "<string>",
"theme": "/library/metadata/1/theme/1705636920",
"thumb": "/library/metadata/58683/thumb/1703239236",
"titleSort": "<string>",
"updatedAt": 123,
"userRating": 5,
"viewCount": 123,
"viewedLeafCount": 123,
"viewOffset": 123,
"Writer": [
{
"tag": "Shaun Lawton",
"confidence": 123,
"context": "<string>",
"filter": "actor=49",
"id": 123,
"ratingKey": "58683",
"role": "Secretary",
"tagKey": "5d3ee12c4cde6a001c3e0b27",
"tagType": 123,
"thumb": "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg"
}
],
"year": 123
}
],
"identifier": "<string>",
"librarySectionID": 123,
"mediaTagPrefix": "<string>",
"mediaTagVersion": 123,
"size": 123,
"sortAsc": true,
"thumb": "<string>",
"title1": "<string>",
"viewGroup": "<string>",
"viewMode": 123
}
}Returns details for the library. This can be thought of as an interstitial endpoint because it contains information about the library, rather than content itself. It often contains a list of Directory metadata objects: These used to be used by clients to build a menuing system.
package main
import(
"context"
"github.com/LukeHagar/plexgo/models/components"
"github.com/LukeHagar/plexgo"
"github.com/LukeHagar/plexgo/models/operations"
"log"
)
func main() {
ctx := context.Background()
s := plexgo.New(
plexgo.WithAccepts(components.AcceptsApplicationXML),
plexgo.WithClientIdentifier("abc123"),
plexgo.WithProduct("Plex for Roku"),
plexgo.WithVersion("2.4.1"),
plexgo.WithPlatform("Roku"),
plexgo.WithPlatformVersion("4.3 build 1057"),
plexgo.WithDevice("Roku 3"),
plexgo.WithModel("4200X"),
plexgo.WithDeviceVendor("Roku"),
plexgo.WithDeviceName("Living Room TV"),
plexgo.WithMarketplace("googlePlay"),
plexgo.WithSecurity("<YOUR_API_KEY_HERE>"),
)
res, err := s.Library.GetLibraryDetails(ctx, operations.GetLibraryDetailsRequest{
SectionID: "<id>",
IncludeDetails: components.BoolIntTrue.ToPointer(),
})
if err != nil {
log.Fatal(err)
}
if res.Object != nil {
// handle response
}
}{
"MediaContainer": {
"content": "<string>",
"allowSync": true,
"art": "<string>",
"Directory": [
{
"title": "<string>",
"type": "<string>",
"addedAt": 123,
"key": "<string>",
"absoluteIndex": 123,
"art": "/library/metadata/58683/art/1703239236",
"audienceRating": 5,
"audienceRatingImage": "<string>",
"Autotag": [
{
"tag": "Shaun Lawton",
"confidence": 123,
"context": "<string>",
"filter": "actor=49",
"id": 123,
"ratingKey": "58683",
"role": "Secretary",
"tagKey": "5d3ee12c4cde6a001c3e0b27",
"tagType": 123,
"thumb": "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg"
}
],
"banner": "<string>",
"chapterSource": "media",
"childCount": 1,
"composite": "<string>",
"contentRating": "<string>",
"Country": [
{
"tag": "Shaun Lawton",
"confidence": 123,
"context": "<string>",
"filter": "actor=49",
"id": 123,
"ratingKey": "58683",
"role": "Secretary",
"tagKey": "5d3ee12c4cde6a001c3e0b27",
"tagType": 123,
"thumb": "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg"
}
],
"Director": [
{
"tag": "Shaun Lawton",
"confidence": 123,
"context": "<string>",
"filter": "actor=49",
"id": 123,
"ratingKey": "58683",
"role": "Secretary",
"tagKey": "5d3ee12c4cde6a001c3e0b27",
"tagType": 123,
"thumb": "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg"
}
],
"duration": 123,
"Filter": [
{
"title": "<string>",
"type": "<string>",
"art": "<string>",
"content": true,
"filter": "<string>",
"hasPrefs": true,
"hasStoreServices": true,
"hubKey": "<string>",
"identifier": "<string>",
"key": "<string>",
"lastAccessedAt": 123,
"Pivot": [
{
"title": "<string>",
"type": "<string>",
"context": "<string>",
"id": "<string>",
"key": "<string>",
"symbol": "<string>"
}
],
"share": 123,
"thumb": "<string>",
"titleBar": "<string>",
"filterType": "<string>"
}
],
"Genre": [
{
"tag": "Shaun Lawton",
"confidence": 123,
"context": "<string>",
"filter": "actor=49",
"id": 123,
"ratingKey": "58683",
"role": "Secretary",
"tagKey": "5d3ee12c4cde6a001c3e0b27",
"tagType": 123,
"thumb": "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg"
}
],
"grandparentArt": "<string>",
"grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4",
"grandparentHero": "<string>",
"grandparentKey": "<string>",
"grandparentRatingKey": "<string>",
"grandparentTheme": "<string>",
"grandparentThumb": "<string>",
"grandparentTitle": "<string>",
"guid": "plex://movie/5d7768ba96b655001fdc0408",
"Guid": [
{
"id": {
"imdbExample": {
"summary": "IMDB example",
"value": "imdb://tt13015952"
},
"tmdbExample": {
"summary": "TMDB example",
"value": "tmdb://2434012"
},
"tvdbExample": {
"summary": "TVDB example",
"value": "tvdb://7945991"
}
}
}
],
"hero": "<string>",
"Image": [
{
"type": "background",
"alt": "<string>",
"url": "<string>"
}
],
"index": 123,
"lastViewedAt": 1556281940,
"leafCount": 123,
"Media": [
{
"id": 1,
"aspectRatio": 2.35,
"audioChannels": 2,
"audioCodec": "aac",
"audioProfile": "lc",
"bitrate": 5612,
"container": "mov",
"duration": 150192,
"has64bitOffsets": false,
"hasVoiceActivity": true,
"height": 544,
"optimizedForStreaming": false,
"Part": [
{
"id": 1,
"key": "/library/parts/1/1531779263/file.mov",
"accessible": true,
"audioProfile": "lc",
"container": "mov",
"duration": 150192,
"exists": true,
"file": "/home/schuyler/Videos/Trailers/Cloud Atlas (2012).mov",
"has64bitOffsets": false,
"indexes": "sd",
"optimizedForStreaming": false,
"size": 105355654,
"Stream": [
{
"codec": "hevc",
"displayTitle": "4K DoVi/HDR10 (HEVC Main 10)",
"id": 1002625,
"key": "/library/streams/216389",
"streamType": 1,
"default": true,
"audioChannelLayout": "5.1(side)",
"channels": 6,
"bitDepth": 10,
"DOVIBLCompatID": 1,
"DOVIBLPresent": true,
"DOVIELPresent": false,
"DOVILevel": 6,
"DOVIPresent": true,
"DOVIProfile": 8,
"DOVIRPUPresent": true,
"DOVIVersion": "1.0",
"bitrate": 24743,
"canAutoSync": false,
"chromaLocation": "topleft",
"chromaSubsampling": "4:2:0",
"codedHeight": 1608,
"codedWidth": 3840,
"closedCaptions": true,
"colorPrimaries": "bt2020",
"colorRange": "tv",
"colorSpace": "bt2020nc",
"colorTrc": "smpte2084",
"extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)",
"frameRate": 23.976,
"hasScalingMatrix": false,
"height": 1602,
"index": 0,
"language": "English",
"languageCode": "eng",
"languageTag": "en",
"format": "srt",
"headerCompression": true,
"level": 150,
"original": true,
"profile": "main 10",
"refFrames": 1,
"samplingRate": 48000,
"scanType": "progressive",
"embeddedInVideo": "progressive",
"selected": true,
"forced": true,
"hearingImpaired": true,
"dub": true,
"title": "SDH",
"streamIdentifier": 1,
"width": 3840
}
],
"videoProfile": "main"
}
],
"videoCodec": "h264",
"videoFrameRate": "24p",
"videoProfile": "main",
"videoResolution": "720",
"width": 1280
}
],
"originallyAvailableAt": "2022-12-14",
"originalTitle": "<string>",
"parentGuid": "plex://show/5d9c081b170e24001f2a7be4",
"parentHero": "<string>",
"parentIndex": 123,
"parentKey": "<string>",
"parentRatingKey": "<string>",
"parentThumb": "<string>",
"parentTitle": "<string>",
"primaryExtraKey": "<string>",
"prompt": "<string>",
"rating": 5,
"Rating": [
{
"tag": "Shaun Lawton",
"confidence": 123,
"context": "<string>",
"filter": "actor=49",
"id": 123,
"ratingKey": "58683",
"role": "Secretary",
"tagKey": "5d3ee12c4cde6a001c3e0b27",
"tagType": 123,
"thumb": "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg"
}
],
"ratingCount": 123,
"ratingImage": "<string>",
"ratingKey": "<string>",
"Role": [
{
"tag": "Shaun Lawton",
"confidence": 123,
"context": "<string>",
"filter": "actor=49",
"id": 123,
"ratingKey": "58683",
"role": "Secretary",
"tagKey": "5d3ee12c4cde6a001c3e0b27",
"tagType": 123,
"thumb": "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg"
}
],
"search": true,
"secondary": true,
"skipChildren": true,
"skipParent": true,
"Sort": [
{
"title": "<string>",
"type": "<string>",
"art": "<string>",
"content": true,
"filter": "<string>",
"hasPrefs": true,
"hasStoreServices": true,
"hubKey": "<string>",
"identifier": "<string>",
"key": "<string>",
"lastAccessedAt": 123,
"Pivot": [
{
"title": "<string>",
"type": "<string>",
"context": "<string>",
"id": "<string>",
"key": "<string>",
"symbol": "<string>"
}
],
"share": 123,
"thumb": "<string>",
"titleBar": "<string>",
"default": "asc",
"defaultDirection": "asc",
"descKey": "<string>",
"firstCharacterKey": "<string>"
}
],
"studio": "<string>",
"subtype": "<string>",
"summary": "<string>",
"tagline": "<string>",
"theme": "/library/metadata/1/theme/1705636920",
"thumb": "/library/metadata/58683/thumb/1703239236",
"titleSort": "<string>",
"updatedAt": 123,
"userRating": 5,
"viewCount": 123,
"viewedLeafCount": 123,
"viewOffset": 123,
"Writer": [
{
"tag": "Shaun Lawton",
"confidence": 123,
"context": "<string>",
"filter": "actor=49",
"id": 123,
"ratingKey": "58683",
"role": "Secretary",
"tagKey": "5d3ee12c4cde6a001c3e0b27",
"tagType": 123,
"thumb": "http://image.tmdb.org/t/p/original/lcJ8qM51ClAR2UzXU1mkZGfnn3o.jpg"
}
],
"year": 123
}
],
"identifier": "<string>",
"librarySectionID": 123,
"mediaTagPrefix": "<string>",
"mediaTagVersion": 123,
"size": 123,
"sortAsc": true,
"thumb": "<string>",
"title1": "<string>",
"viewGroup": "<string>",
"viewMode": 123
}
}The token which identifies the user accessing the PMS. This can be either:
JWT tokens provide better security with:
Indicates the client accepts the indicated media types
application/json, application/xml An opaque identifier unique to the client
"abc123"
The name of the client product
"Plex for Roku"
The version of the client application
"2.4.1"
The platform of the client
"Roku"
The version of the platform
"4.3 build 1057"
A relatively friendly name for the client device
"Roku 3"
A potentially less friendly identifier for the device model
"4200X"
The device vendor
"Roku"
A friendly name for the client
"Living Room TV"
The marketplace on which the client application is distributed
"googlePlay"
The section identifier
Whether or not to include details for a section (types, filters, and sorts). Only exists for backwards compatibility, media providers other than the server libraries have it on always.
0, 1 1
OK
Show child attributes
Was this page helpful?