vps交流

[经验] Emby api简单使用指北


本帖最后由 MisakaF 于 2022-2-10 20:54 编辑

最近不知道为啥emby搭建突然火了起来,可能因为阿里云盘的原因大家资源都挺多吧,论坛里也一直有人在询问emby的api使用,作为一个已经趟了坑的人,就来给大家简单介绍介绍emby的api使用。

事先声明:本人纯小白自我摸索,教程一时心血来潮写的,若有漏洞错误之处还请尽数指出多多包涵=,=

目前emby的api主要在两个方面的使用,一是用户的管理,二是媒体库的管理

首先是前期准备工作:

进入你emby网站的控制台,在最左边一列中找到API密钥,创建一个API。
再翻到仪表盘最下方,点击api,即可进入API调试页面,此页面已经内置了你网站的API,任何操作都会直接应用到网站中,请谨慎操作。
[经验]  Emby api简单使用指北
[经验]  Emby api简单使用指北

向下翻,找到UserService一栏,展开,再找到Creates a user分支,这就是创建用户的API:[经验]  Emby api简单使用指北

接下来,跟着我来通过API创建第一个用户:点击Try it out,会进入编辑模式,将Name后的字符"string"改为任何你愿意的用户名,例如"11111qqqqq"。

轻点Execute,向下翻找到Responses,提示返回200,说明创建成功。
[经验]  Emby api简单使用指北

再返回到网站的控制面板-用户,锵锵![经验]  Emby api简单使用指北

现在你已经会最基础的创建用户操作了,接下来让我们对这个用户的配置文件进行一些修改

在上一步创建用户的操作中,提交post后会返回一段Response body,里面有这个用户的所有配置信息,我们只需要提取出刚刚创建的用户的ID即可,具体提取操作可以使用python或任何编程语言来实现,不再赘述,详见最后示例代码。

现在我们已经通过一些方法获取了用户ID,回到API调试页面,向下翻,找到Updates a user policy分支,点击Try it out并在方框内输入用户ID:

接下来,稍微对用户配置做一点修改,比如最常见的关闭转码:在方框内找到

  1.   "IsAdministrator": true,
  2.   "IsDisabled": true,
  3.   "EnableAudioPlaybackTranscoding": true,
  4.   "EnableVideoPlaybackTranscoding": true,

复制代码

true全部更改为false,执行!
返回204而不是200,不用怕,一样是成功的

回到控制面板-用户,点击11111qqqqq用户进入详细页面,可以看到转码已经关闭了。[经验]  Emby api简单使用指北

Updates a user policyUpdates a user configuration分支中还有很多配置可以修改,剩下的就由mjj自己去探索了,论坛人均6级应该能看得懂的吧!

媒体库操作简单介绍一个刷新媒体库

API调试页面-LibraryService-Starts a library scan无需任何参数直接执行即可。
[经验]  Emby api简单使用指北

接下来,重中之重!通过python来实现操作API,借此你就可以在python中添加tg机器人来通过tg机器人管理emby。

在API调试界面中执行每条命令时,下方会出现对应的CURL命令,比如创建用户时:[经验]  Emby api简单使用指北
复制这条curl命令,转到这个网站,将curl命令粘贴到左侧,右侧便会出现相应的python代码,复制到python编辑器中,直接运行即可实现相同效果。
[经验]  Emby api简单使用指北

自此,便转入了编程操作阶段,不是我该教的范畴了,可以去b站自学,掌握一门编程语言还是很有必要的。

附上我emby公益服tg机器人注册源码中的部分源码,剩下的是机器人操作相关。

  1.     name = "你要注册的用户名"
  2.     headers = {
  3.         ‘accept’: ‘application/json’,
  4.         ‘Content-Type’: ‘application/json’,
  5.     }
  6.     params = (
  7.                 (‘api_key’, ‘***api***’),
  8.             )
  9.     data = ‘{"Name":"’+name+’","HasPassword":true}’
  10.     response = requests.post(‘***你的网址***/emby/Users/New’, headers=headers, params=params, data=data)
  11.     if(response != ”):
  12.         id1=re.findall(r’"(.*?)"’,response.text)
  13.         id=id1[5]
  14.         headers1 = {
  15.                         ‘accept’: ‘*/*’,
  16.                         ‘Content-Type’: ‘application/json’,
  17.                     }
  18.         params1 = (
  19.                     (‘api_key’, ‘***api***’),
  20.                 )
  21.         data1 = ‘{"IsAdministrator":false,"IsHidden":true,"IsHiddenRemotely":true,"IsDisabled":false,"EnableRemoteControlOfOtherUsers":false,"EnableSharedDeviceControl":false,"EnableRemoteAccess":true,"EnableLiveTvManagement":false,"EnableLiveTvAccess":true,"EnableMediaPlayback":true,"EnableAudioPlaybackTranscoding":false,"EnableVideoPlaybackTranscoding":false,"EnablePlaybackRemuxing":false,"EnableContentDeletion":false,"EnableContentDownloading":false,"EnableSubtitleDownloading":false,"EnableSubtitleManagement":false,"EnableSyncTranscoding":false,"EnableMediaConversion":false,"EnableAllDevices":true}’
  22.         requests.post(‘***你的网址***/emby/Users/’+id+’/Policy’, headers=headers1, params=params1, data=data1)

复制代码

这里面的用户配置文件关闭转码,下载,其他无关权限,仅能进行播放

ps:如果你要单独刷新某个媒体库,浏览器内按f12,点击网络,刷新某个媒体库,找到右侧抓到的包,右键-复制-以cURL(bash)格式复制,再转到刚刚那个代码转换网站转换即可。

最后稍微宣传下我自己的公益服,可直连,速度经多位mjj肯定。
尚有150T+资源扫盘中,动漫番剧自动更新并通知。
点我注册

MARKMARKMARKMARK
从开头往下看顿时觉得  这应该是开服巨佬的操作吧?  果不其然,立刻注册
没有兼容的流,好几个电影都是,后裔骑兵也是这个提示[经验]  Emby api简单使用指北[经验]  Emby api简单使用指北

我是坏虫 发表于 2022-2-10 21:03
没有兼容的流,好几个电影都是,后裔骑兵也是这个提示

资源编码格式问题哦,用客户端播放即可解决这个问题

MisakaF 发表于 2022-2-10 21:05
资源编码格式问题哦,用客户端播放即可解决这个问题

[经验]  Emby api简单使用指北好吧[经验]  Emby api简单使用指北

我是坏虫 发表于 2022-2-10 21:03
没有兼容的流,好几个电影都是,后裔骑兵也是这个提示

这种情况都是web端不支持编码格式导致的,用客户端就好了[经验]  Emby api简单使用指北

太强了大佬带带我
MARK,以后可能会用到。
已注册