Plex
Overview
API Calls that perform operations directly against https://Plex.tv
Available Operations
- get_companions_data - Get Companions Data
- get_user_friends - Get list of friends of the user logged in
- get_geo_data - Get Geo Data
- get_home_data - Get Plex Home Data
- get_server_resources - Get Server Resources
- get_pin - Get a Pin
- get_token_by_pin_id - Get Access Token by PinId
get_companions_data
Get Companions Data
Example Usage
require 'plex_ruby_sdk'
s = ::PlexRubySDK::PlexAPI.new(
client_id: "gcgzw5rz2xovp84b4vha3a40",
client_name: "Plex Web",
client_version: "4.133.0",
client_platform: "Chrome",
device_name: "Linux",
)
s.config_security(
::PlexRubySDK::Shared::Security.new(
access_token: "<YOUR_API_KEY_HERE>",
)
)
res = s.plex.get_companions_data()
if ! res.response_bodies.nil?
# handle response
end
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
server_url |
String | ➖ | An optional server URL to use. |
Response
T.nilable(::PlexRubySDK::Operations::GetCompanionsDataResponse)
get_user_friends
Get friends of provided auth token.
Example Usage
require 'plex_ruby_sdk'
s = ::PlexRubySDK::PlexAPI.new(
client_id: "gcgzw5rz2xovp84b4vha3a40",
client_name: "Plex Web",
client_version: "4.133.0",
client_platform: "Chrome",
device_name: "Linux",
)
s.config_security(
::PlexRubySDK::Shared::Security.new(
access_token: "<YOUR_API_KEY_HERE>",
)
)
res = s.plex.get_user_friends()
if ! res.friends.nil?
# handle response
end
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
server_url |
String | ➖ | An optional server URL to use. |
Response
T.nilable(::PlexRubySDK::Operations::GetUserFriendsResponse)
get_geo_data
Returns the geolocation and locale data of the caller
Example Usage
require 'plex_ruby_sdk'
s = ::PlexRubySDK::PlexAPI.new(
client_id: "gcgzw5rz2xovp84b4vha3a40",
client_name: "Plex Web",
client_version: "4.133.0",
client_platform: "Chrome",
device_name: "Linux",
)
res = s.plex.get_geo_data()
if ! res.geo_data.nil?
# handle response
end
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
server_url |
String | ➖ | An optional server URL to use. |
Response
T.nilable(::PlexRubySDK::Operations::GetGeoDataResponse)
get_home_data
Retrieves the home data for the authenticated user, including details like home ID, name, guest access information, and subscription status.
Example Usage
require 'plex_ruby_sdk'
s = ::PlexRubySDK::PlexAPI.new(
client_id: "gcgzw5rz2xovp84b4vha3a40",
client_name: "Plex Web",
client_version: "4.133.0",
client_platform: "Chrome",
device_name: "Linux",
)
s.config_security(
::PlexRubySDK::Shared::Security.new(
access_token: "<YOUR_API_KEY_HERE>",
)
)
res = s.plex.get_home_data()
if ! res.object.nil?
# handle response
end
Response
T.nilable(::PlexRubySDK::Operations::GetHomeDataResponse)
get_server_resources
Get Plex server access tokens and server connections
Example Usage
require 'plex_ruby_sdk'
s = ::PlexRubySDK::PlexAPI.new(
client_id: "gcgzw5rz2xovp84b4vha3a40",
client_name: "Plex Web",
client_version: "4.133.0",
client_platform: "Chrome",
device_name: "Linux",
)
s.config_security(
::PlexRubySDK::Shared::Security.new(
access_token: "<YOUR_API_KEY_HERE>",
)
)
res = s.plex.get_server_resources(include_https=::PlexRubySDK::Operations::IncludeHttps::ENABLE, include_relay=::PlexRubySDK::Operations::IncludeRelay::ENABLE, include_i_pv6=::PlexRubySDK::Operations::IncludeIPv6::ENABLE, client_id="gcgzw5rz2xovp84b4vha3a40")
if ! res.plex_devices.nil?
# handle response
end
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
include_https |
::PlexRubySDK::Operations::IncludeHttps | ➖ | Include Https entries in the results | 1 |
include_relay |
::PlexRubySDK::Operations::IncludeRelay | ➖ | Include Relay addresses in the results E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400 |
1 |
include_i_pv6 |
::PlexRubySDK::Operations::IncludeIPv6 | ➖ | Include IPv6 entries in the results | 1 |
client_id |
::String | ➖ | The unique identifier for the client application This is used to track the client application and its usage (UUID, serial number, or other number unique per device) |
gcgzw5rz2xovp84b4vha3a40 |
server_url |
String | ➖ | An optional server URL to use. | http://localhost:8080 |
Response
T.nilable(::PlexRubySDK::Operations::GetServerResourcesResponse)
get_pin
Retrieve a Pin ID from Plex.tv to use for authentication flows
Example Usage
require 'plex_ruby_sdk'
s = ::PlexRubySDK::PlexAPI.new(
client_id: "gcgzw5rz2xovp84b4vha3a40",
client_name: "Plex Web",
client_version: "4.133.0",
client_platform: "Chrome",
device_name: "Linux",
)
req = ::PlexRubySDK::Operations::GetPinRequest.new()
res = s.plex.get_pin(req)
if ! res.auth_pin_container.nil?
# handle response
end
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
request |
::PlexRubySDK::Operations::GetPinRequest | ✔️ | The request object to use for the request. |
server_url |
String | ➖ | An optional server URL to use. |
Response
T.nilable(::PlexRubySDK::Operations::GetPinResponse)
get_token_by_pin_id
Retrieve an Access Token from Plex.tv after the Pin has been authenticated
Example Usage
require 'plex_ruby_sdk'
s = ::PlexRubySDK::PlexAPI.new(
client_id: "gcgzw5rz2xovp84b4vha3a40",
client_name: "Plex Web",
client_version: "4.133.0",
client_platform: "Chrome",
device_name: "Linux",
)
req = ::PlexRubySDK::Operations::GetTokenByPinIdRequest.new(
pin_id: 408895,
)
res = s.plex.get_token_by_pin_id(req)
if ! res.auth_pin_container.nil?
# handle response
end
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
request |
::PlexRubySDK::Operations::GetTokenByPinIdRequest | ✔️ | The request object to use for the request. |
server_url |
String | ➖ | An optional server URL to use. |
Response
T.nilable(::PlexRubySDK::Operations::GetTokenByPinIdResponse)