一个用于与MyAnimeList RESTAPI接口的小型客户端库。

malclient的Python项目详细描述


MAL API客户端

第三方面向对象的python客户端库,用于MyAnimeList新发布的官方restapi。在

安装

pip3 install malclient --user

身份验证

客户端需要具有此OAuth2接口的令牌访问。虽然OAuth2非常适合将用户授权委托给第三方web应用程序,但对于简单的自动化或抓取(这个客户机的理想范围通常是朝着这个方向)的,它并不是最简单的身份验证选项。幸运的是,there is a great guide for authenticating an application and retreiving credentials for this api你可以使用这个库。请参考那个指南

一旦检索到访问令牌,您只需使用以下api进行身份验证:

importmalclientclient=malclient.Client()client.init(access_token="<your-access-token>")

如果此客户端库正在长时间运行的上下文中使用,则可能需要定期刷新访问令牌。这可以通过下面的方法完成,并将用新返回的access_token更新将来的请求头,并将新的refresh_token设置为可以引用的属性。在

^{pr2}$

有关身份验证的任何其他问题,please refer to the following guide。未来有一些更简单的认证方法的潜在计划,但目前看来这似乎是MyAnimeList认可的方法。在

快速入门示例

下面是一些示例来演示这个客户机在MAL的restapi中的一些用法。请注意,响应被序列化为python对象以直接引用到属性,但是在顶层打印对象将返回一个用于查找属性的字典。在

importmalclientclient=malclient.Client()client.init(access_token="<your-access-token>")# search anime, returns listanime=client.search_anime("cowboy",limit=20)foraniinanime:# print all attributes as dictionary for refferenceprint(ani)# print attributeprint(ani.title)# Get individual anime by IDanime=client.get_anime_details(1)print(anime.title)print(anime)# Update Myanime List based off of search resultsanime=client.search_anime("dorohedoro",limit=1)my_status={'status':'watching','score':7}status=client.update_anime_my_list_status(anime[0].id,my_status)# get my user infoprint(client.get_user_info())# get my anime list (you can get other users by name)foranimeinclient.get_user_anime_list():print(anime.title,anime.score)# Update manga list based off search resultsmanga=client.search_manga('doro')my_status={'status':'reading','score':9}client.update_manga_my_list_status(manga[0].id,my_status)

待办事项

  • []分页支持
  • []其他身份验证方法在上游可用时
  • []单元和集成测试
  • []修复令牌刷新方法

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
我可以用C++代码使用java代码吗?   java使用JSR303在派生类中提供更具体的约束   java在这个查找唯一路径数算法中我做错了什么?   java如何为2个不同的服务提供商使用2个不同的SSL证书?   java在Gridview上绘制文本   java使用连接for循环构建字符串名   java StringBuilder拆分无法处理某些文件   java事件关注EditText   Java Web Start“找不到URL的缓存资源”   java程序从命令行运行的速度比在Eclipse中慢   java为什么HttpServletRequest会截断#字符上的url输入?   java自定义折叠工具栏平滑标题大小调整   使用Mockito对安卓 java中调用另一个静态函数的函数进行单元测试   http在java客户机中使用cachecontrol头   java如何使用。是否使用Delimiter从输入文件中排除标点符号和数字?   使用上下文作为参数/参数的java   java更有效地从Jar中提取文件   java为多个JButton提供相同的actionListener