承接 jonlaliberte/overseerr-api-php 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jonlaliberte/overseerr-api-php

Composer 安装命令:

composer require jonlaliberte/overseerr-api-php

包简介

PHP client for Overseerr API generated by Swagger

README 文档

README

This is the documentation for the Overseerr API backend. Two primary authentication methods are supported: - Cookie Authentication: A valid sign-in to the /auth/plex or /auth/local will generate a valid authentication cookie. - API Key Authentication: Sign-in is also possible by passing an X-Api-Key header along with a valid API Key generated by Overseerr.

This PHP package is automatically generated by the Swagger Codegen project:

  • API version: 1.0.0
  • Build package: io.swagger.codegen.v3.generators.php.PhpClientCodegen

Requirements

PHP 5.5 and later

Installation & Usage

Composer

To install the bindings via Composer, add the following to composer.json:

{
  "repositories": [
    {
      "type": "git",
      "url": "https://github.com/GIT_USER_ID/GIT_REPO_ID.git"
    }
  ],
  "require": {
    "GIT_USER_ID/GIT_REPO_ID": "*@dev"
  }
}

Then run composer install

Manual Installation

Download the files and include autoload.php:

    require_once('/path/to/SwaggerClient-php/vendor/autoload.php');

Tests

To run the unit tests:

composer install
./vendor/bin/phpunit

Getting Started

Please follow the installation procedure and then run the following:

<?php
require_once(__DIR__ . '/vendor/autoload.php');

$apiInstance = new Swagger\Client\Api\AuthApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$body = new \Swagger\Client\Model\AuthLocalBody(); // \Swagger\Client\Model\AuthLocalBody | 

try {
    $result = $apiInstance->authLocalPost($body);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling AuthApi->authLocalPost: ', $e->getMessage(), PHP_EOL;
}

// Configure API key authorization: apiKey
$config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKey('X-Api-Key', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('X-Api-Key', 'Bearer');
// Configure API key authorization: cookieAuth
$config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKey('connect.sid', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('connect.sid', 'Bearer');

$apiInstance = new Swagger\Client\Api\AuthApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client(),
    $config
);

try {
    $result = $apiInstance->authLogoutPost();
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling AuthApi->authLogoutPost: ', $e->getMessage(), PHP_EOL;
}

// Configure API key authorization: apiKey
$config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKey('X-Api-Key', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('X-Api-Key', 'Bearer');
// Configure API key authorization: cookieAuth
$config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKey('connect.sid', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('connect.sid', 'Bearer');

$apiInstance = new Swagger\Client\Api\AuthApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client(),
    $config
);

try {
    $result = $apiInstance->authMeGet();
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling AuthApi->authMeGet: ', $e->getMessage(), PHP_EOL;
}

$apiInstance = new Swagger\Client\Api\AuthApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$body = new \Swagger\Client\Model\AuthPlexBody(); // \Swagger\Client\Model\AuthPlexBody | 

try {
    $result = $apiInstance->authPlexPost($body);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling AuthApi->authPlexPost: ', $e->getMessage(), PHP_EOL;
}
?>

Documentation for API Endpoints

All URIs are relative to {server}/api/v1

Class Method HTTP request Description
AuthApi authLocalPost POST /auth/local Sign in using a local account
AuthApi authLogoutPost POST /auth/logout Sign out and clear session cookie
AuthApi authMeGet GET /auth/me Get logged-in user
AuthApi authPlexPost POST /auth/plex Sign in using a Plex token
CollectionApi collectionCollectionIdGet GET /collection/{collectionId} Get collection details
IssueApi issueCommentCommentIdDelete DELETE /issueComment/{commentId} Delete issue comment
IssueApi issueCommentCommentIdGet GET /issueComment/{commentId} Get issue comment
IssueApi issueCommentCommentIdPut PUT /issueComment/{commentId} Update issue comment
IssueApi issueGet GET /issue Get all issues
IssueApi issueIssueIdCommentPost POST /issue/{issueId}/comment Create a comment
IssueApi issueIssueIdDelete DELETE /issue/{issueId} Delete issue
IssueApi issueIssueIdGet GET /issue/{issueId} Get issue
IssueApi issueIssueIdStatusPost POST /issue/{issueId}/{status} Update an issue's status
IssueApi issuePost POST /issue Create new issue
MediaApi mediaGet GET /media Get media
MediaApi mediaMediaIdDelete DELETE /media/{mediaId} Delete media item
MediaApi mediaMediaIdStatusPost POST /media/{mediaId}/{status} Update media status
MoviesApi movieMovieIdGet GET /movie/{movieId} Get movie details
MoviesApi movieMovieIdRatingsGet GET /movie/{movieId}/ratings Get movie ratings
MoviesApi movieMovieIdRecommendationsGet GET /movie/{movieId}/recommendations Get recommended movies
MoviesApi movieMovieIdSimilarGet GET /movie/{movieId}/similar Get similar movies
PersonApi personPersonIdCombinedCreditsGet GET /person/{personId}/combined_credits Get combined credits
PersonApi personPersonIdGet GET /person/{personId} Get person details
PublicApi statusAppdataGet GET /status/appdata Get application data volume status
PublicApi statusGet GET /status Get Overseerr version
RequestApi requestCountGet GET /request/count Gets request counts
RequestApi requestGet GET /request Get all requests
RequestApi requestPost POST /request Create new request
RequestApi requestRequestIdDelete DELETE /request/{requestId} Delete request
RequestApi requestRequestIdGet GET /request/{requestId} Get MediaRequest
RequestApi requestRequestIdPut PUT /request/{requestId} Update MediaRequest
RequestApi requestRequestIdRetryPost POST /request/{requestId}/retry Retry failed request
RequestApi requestRequestIdStatusPost POST /request/{requestId}/{status} Update a request's status
SearchApi discoverGenresliderMovieGet GET /discover/genreslider/movie Get genre slider data for movies
SearchApi discoverGenresliderTvGet GET /discover/genreslider/tv Get genre slider data for TV series
SearchApi discoverKeywordKeywordIdMoviesGet GET /discover/keyword/{keywordId}/movies Get movies from keyword
SearchApi discoverMoviesGenreGenreIdGet GET /discover/movies/genre/{genreId} Discover movies by genre
SearchApi discoverMoviesGet GET /discover/movies Discover movies
SearchApi discoverMoviesLanguageLanguageGet GET /discover/movies/language/{language} Discover movies by original language
SearchApi discoverMoviesStudioStudioIdGet GET /discover/movies/studio/{studioId} Discover movies by studio
SearchApi discoverMoviesUpcomingGet GET /discover/movies/upcoming Upcoming movies
SearchApi discoverTrendingGet GET /discover/trending Trending movies and TV
SearchApi discoverTvGenreGenreIdGet GET /discover/tv/genre/{genreId} Discover TV shows by genre
SearchApi discoverTvGet GET /discover/tv Discover TV shows
SearchApi discoverTvLanguageLanguageGet GET /discover/tv/language/{language} Discover TV shows by original language
SearchApi discoverTvNetworkNetworkIdGet GET /discover/tv/network/{networkId} Discover TV shows by network
SearchApi discoverTvUpcomingGet GET /discover/tv/upcoming Discover Upcoming TV shows
SearchApi searchGet GET /search Search for movies, TV shows, or people
ServiceApi serviceRadarrGet GET /service/radarr Get non-sensitive Radarr server list
ServiceApi serviceRadarrRadarrIdGet GET /service/radarr/{radarrId} Get Radarr server quality profiles and root folders
ServiceApi serviceSonarrGet GET /service/sonarr Get non-sensitive Sonarr server list
ServiceApi serviceSonarrLookupTmdbIdGet GET /service/sonarr/lookup/{tmdbId} Get series from Sonarr
ServiceApi serviceSonarrSonarrIdGet GET /service/sonarr/{sonarrId} Get Sonarr server quality profiles and root folders
SettingsApi settingsAboutGet GET /settings/about Get server stats
SettingsApi settingsCacheCacheIdFlushPost POST /settings/cache/{cacheId}/flush Flush a specific cache
SettingsApi settingsCacheGet GET /settings/cache Get a list of active caches
SettingsApi settingsInitializePost POST /settings/initialize Initialize application
SettingsApi settingsJobsGet GET /settings/jobs Get scheduled jobs
SettingsApi settingsJobsJobIdCancelPost POST /settings/jobs/{jobId}/cancel Cancel a specific job
SettingsApi settingsJobsJobIdRunPost POST /settings/jobs/{jobId}/run Invoke a specific job
SettingsApi settingsJobsJobIdSchedulePost POST /settings/jobs/{jobId}/schedule Modify job schedule
SettingsApi settingsLogsGet GET /settings/logs Returns logs
SettingsApi settingsMainGet GET /settings/main Get main settings
SettingsApi settingsMainPost POST /settings/main Update main settings
SettingsApi settingsMainRegeneratePost POST /settings/main/regenerate Get main settings with newly-generated API key
SettingsApi settingsNotificationsDiscordGet GET /settings/notifications/discord Get Discord notification settings
SettingsApi settingsNotificationsDiscordPost POST /settings/notifications/discord Update Discord notification settings
SettingsApi settingsNotificationsDiscordTestPost POST /settings/notifications/discord/test Test Discord settings
SettingsApi settingsNotificationsEmailGet GET /settings/notifications/email Get email notification settings
SettingsApi settingsNotificationsEmailPost POST /settings/notifications/email Update email notification settings
SettingsApi settingsNotificationsEmailTestPost POST /settings/notifications/email/test Test email settings
SettingsApi settingsNotificationsLunaseaGet GET /settings/notifications/lunasea Get LunaSea notification settings
SettingsApi settingsNotificationsLunaseaPost POST /settings/notifications/lunasea Update LunaSea notification settings
SettingsApi settingsNotificationsLunaseaTestPost POST /settings/notifications/lunasea/test Test LunaSea settings
SettingsApi settingsNotificationsPushbulletGet GET /settings/notifications/pushbullet Get Pushbullet notification settings
SettingsApi settingsNotificationsPushbulletPost POST /settings/notifications/pushbullet Update Pushbullet notification settings
SettingsApi settingsNotificationsPushbulletTestPost POST /settings/notifications/pushbullet/test Test Pushbullet settings
SettingsApi settingsNotificationsPushoverGet GET /settings/notifications/pushover Get Pushover notification settings
SettingsApi settingsNotificationsPushoverPost POST /settings/notifications/pushover Update Pushover notification settings
SettingsApi settingsNotificationsPushoverTestPost POST /settings/notifications/pushover/test Test Pushover settings
SettingsApi settingsNotificationsSlackGet GET /settings/notifications/slack Get Slack notification settings
SettingsApi settingsNotificationsSlackPost POST /settings/notifications/slack Update Slack notification settings
SettingsApi settingsNotificationsSlackTestPost POST /settings/notifications/slack/test Test Slack settings
SettingsApi settingsNotificationsTelegramGet GET /settings/notifications/telegram Get Telegram notification settings
SettingsApi settingsNotificationsTelegramPost POST /settings/notifications/telegram Update Telegram notification settings
SettingsApi settingsNotificationsTelegramTestPost POST /settings/notifications/telegram/test Test Telegram settings
SettingsApi settingsNotificationsWebhookGet GET /settings/notifications/webhook Get webhook notification settings
SettingsApi settingsNotificationsWebhookPost POST /settings/notifications/webhook Update webhook notification settings
SettingsApi settingsNotificationsWebhookTestPost POST /settings/notifications/webhook/test Test webhook settings
SettingsApi settingsNotificationsWebpushGet GET /settings/notifications/webpush Get Web Push notification settings
SettingsApi settingsNotificationsWebpushPost POST /settings/notifications/webpush Update Web Push notification settings
SettingsApi settingsNotificationsWebpushTestPost POST /settings/notifications/webpush/test Test Web Push settings
SettingsApi settingsPlexDevicesServersGet GET /settings/plex/devices/servers Gets the user's available Plex servers
SettingsApi settingsPlexGet GET /settings/plex Get Plex settings
SettingsApi settingsPlexLibraryGet GET /settings/plex/library Get Plex libraries
SettingsApi settingsPlexPost POST /settings/plex Update Plex settings
SettingsApi settingsPlexSyncGet GET /settings/plex/sync Get status of full Plex library scan
SettingsApi settingsPlexSyncPost POST /settings/plex/sync Start full Plex library scan
SettingsApi settingsPublicGet GET /settings/public Get public settings
SettingsApi settingsRadarrGet GET /settings/radarr Get Radarr settings
SettingsApi settingsRadarrPost POST /settings/radarr Create Radarr instance
SettingsApi settingsRadarrRadarrIdDelete DELETE /settings/radarr/{radarrId} Delete Radarr instance
SettingsApi settingsRadarrRadarrIdProfilesGet GET /settings/radarr/{radarrId}/profiles Get available Radarr profiles
SettingsApi settingsRadarrRadarrIdPut PUT /settings/radarr/{radarrId} Update Radarr instance
SettingsApi settingsRadarrTestPost POST /settings/radarr/test Test Radarr configuration
SettingsApi settingsSonarrGet GET /settings/sonarr Get Sonarr settings
SettingsApi settingsSonarrPost POST /settings/sonarr Create Sonarr instance
SettingsApi settingsSonarrSonarrIdDelete DELETE /settings/sonarr/{sonarrId} Delete Sonarr instance
SettingsApi settingsSonarrSonarrIdPut PUT /settings/sonarr/{sonarrId} Update Sonarr instance
SettingsApi settingsSonarrTestPost POST /settings/sonarr/test Test Sonarr configuration
TmdbApi backdropsGet GET /backdrops Get backdrops of trending items
TmdbApi genresMovieGet GET /genres/movie Get list of official TMDb movie genres
TmdbApi genresTvGet GET /genres/tv Get list of official TMDb movie genres
TmdbApi languagesGet GET /languages Languages supported by TMDb
TmdbApi networkNetworkIdGet GET /network/{networkId} Get TV network details
TmdbApi regionsGet GET /regions Regions supported by TMDb
TmdbApi studioStudioIdGet GET /studio/{studioId} Get movie studio details
TvApi tvTvIdGet GET /tv/{tvId} Get TV details
TvApi tvTvIdRatingsGet GET /tv/{tvId}/ratings Get TV ratings
TvApi tvTvIdRecommendationsGet GET /tv/{tvId}/recommendations Get recommended TV series
TvApi tvTvIdSeasonSeasonIdGet GET /tv/{tvId}/season/{seasonId} Get season details and episode list
TvApi tvTvIdSimilarGet GET /tv/{tvId}/similar Get similar TV series
UsersApi authMeGet GET /auth/me Get logged-in user
UsersApi authResetPasswordGuidPost POST /auth/reset-password/{guid} Reset the password for a user
UsersApi authResetPasswordPost POST /auth/reset-password Send a reset password email
UsersApi userGet GET /user Get all users
UsersApi userImportFromPlexPost POST /user/import-from-plex Import all users from Plex
UsersApi userPost POST /user Create new user
UsersApi userPut PUT /user Update batch of users
UsersApi userRegisterPushSubscriptionPost POST /user/registerPushSubscription Register a web push /user/registerPushSubscription
UsersApi userUserIdDelete DELETE /user/{userId} Delete user by ID
UsersApi userUserIdGet GET /user/{userId} Get user by ID
UsersApi userUserIdPut PUT /user/{userId} Update a user by user ID
UsersApi userUserIdQuotaGet GET /user/{userId}/quota Get quotas for a specific user
UsersApi userUserIdRequestsGet GET /user/{userId}/requests Get user by ID
UsersApi userUserIdSettingsMainGet GET /user/{userId}/settings/main Get general settings for a user
UsersApi userUserIdSettingsMainPost POST /user/{userId}/settings/main Update general settings for a user
UsersApi userUserIdSettingsNotificationsGet GET /user/{userId}/settings/notifications Get notification settings for a user
UsersApi userUserIdSettingsNotificationsPost POST /user/{userId}/settings/notifications Update notification settings for a user
UsersApi userUserIdSettingsPasswordGet GET /user/{userId}/settings/password Get password page informatiom
UsersApi userUserIdSettingsPasswordPost POST /user/{userId}/settings/password Update password for a user
UsersApi userUserIdSettingsPermissionsGet GET /user/{userId}/settings/permissions Get permission settings for a user
UsersApi userUserIdSettingsPermissionsPost POST /user/{userId}/settings/permissions Update permission settings for a user

Documentation For Models

Documentation For Authorization

apiKey

  • Type: API key
  • API key parameter name: X-Api-Key
  • Location: HTTP header

cookieAuth

  • Type: API key
  • API key parameter name: connect.sid
  • Location: URL query string

Author

jonlaliberte/overseerr-api-php 适用场景与选型建议

jonlaliberte/overseerr-api-php 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 4 次下载、GitHub Stars 达 0, 最近一次更新时间为 2022 年 10 月 10 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「php」 「api」 「sdk」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 jonlaliberte/overseerr-api-php 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 jonlaliberte/overseerr-api-php 我们能提供哪些服务?
定制开发 / 二次开发

基于 jonlaliberte/overseerr-api-php 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 4
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 9
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2022-10-10