phish.net api的python客户端

phishnetp的Python项目详细描述


物理性

phishnetpy是Phish.net API的python客户机。它可以与python 2或3一起工作,并且 支持api.phish.net提供的所有终结点。

安装

你猜对了…

pip install phishnetpy

开始

当您浏览Phish.net API documentation时,您将看到一些api 方法被标记为“受保护”。这意味着为了使用 这些方法必须生成应用程序密钥。允许两者兼而有之 公共和受保护的使用,有几个安装步骤 完成。

公共api方法

对于“public”或“unprotected”api调用,只需实例化 PhishNetAPI类,并为每个API方法调用方法

>>>fromphishnetpyimportPhishNetAPI>>>phishnet=PhishNetAPI()>>>artists=phishnet.artists_get()>>>artists[{'artist':'Phish','slug':'phish','artistid':'1'},{'artist':'Trey Anastasio','slug':'trey-anastasio-band','artistid':'2'},{'artist':'Mike Gordon','slug':'mike-gordon','artistid':'6'},{'artist':'Jon Fishman','slug':'jon-fishman','artistid':'7'},{'artist':'Page McConnell','slug':'page-mcconnell','artistid':'9'}]

试图调用受保护的方法,而不向 构造函数将引发phishnetpy.exceptions.AuthError

>>>phishnet.user_username_check("wilson")Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>File"./phishnetpy/phishnetpy/decorators.py",line16,inwrapperraiseAuthError("{} requires an API key".format(qual_name_safe(f)))phishnetpy.exceptions.AuthError:PhishNetAPI.user_username_checkrequiresanAPIkey

受保护的api方法

为了收集“受保护”的api方法,必须传递api密钥 进入建筑者

>>>fromphishnetpyimportPhishNetAPI>>>my_api_key="<MY API KEY>"# Private API key from http://api.phish.net/keys/>>>phishnet=PhishNetAPI(api_key=my_api_key)>>>phishnet.user_username_check("wilson"){'success':'0','reason':'Sorry! wilson is already taken.'}

需要用户授权的方法

一些受保护的方法还需要auth_密钥才能执行操作 代表特定用户。这包括提交评论、论坛 线程,或在“我的节目”中添加节目。

phishnetpy可以通过添加一些逻辑来简化身份验证代码的生成 在pnet.api.*api方法之上。

最简单的方法可能是使用authorize方法。整齐 要使此方法有效,您需要用户名和密码 您正在授权的用户(至少是第一次)。

>>>fromphishnetpyimportPhishNetAPI>>>my_api_key="<MY API KEY>"# Private API key from http://api.phish.net/keys/>>>phishnet=PhishNetAPI(api_key=my_api_key)>>>phishnet.authorize('authorized_username','that_users_password')

如果不成功,将筹集phishnetpy.exceptions.AuthError。 如果成功,授权的用户名和身份验证密钥将存储为 正在处理的实例的属性。

>>>phishnet.username'authorized_username'>>>phishnet.auth_key'ABCD123456789012345'

一旦设置了这些属性,就可以使用户授权的api 电话。例如,让我们将Halloween 2014添加到我的节目中,然后将其删除

>>>len(phishnet.user_myshows_get_authorized())7>>>phishnet.user_myshows_add('2014-10-31'){'success':1}>>>len(phishnet.user_myshows_get_authorized())8>>>phishnet.user_myshows_remove('2014-10-31'){'success':1}>>>len(phishnet.user_myshows_get_authorized())7

一旦授权,您就不应该存储用户的密码(根据 网络钓鱼条款)。

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

推荐PyPI第三方库


热门话题
java如何将JSP与Hibernate连接?   java无法退出do while循环,即使表达式为false   使用Restlet和GAE过滤根路径   java<rich:popupanel按钮在JSF项目中不起作用   java错误:在安卓包中找不到属性“showAsAction”的资源标识符   性能Java 2D:在屏幕上快速渲染大量瓷砖   java Android MediaPlayer seekTo(0)不寻求启动   java使用jsweet将小程序代码转换为js。类文件依赖关系   java Maven导入问题,在complie时间使用里程碑版本,但在运行时使用最新版本   java JPA:从另一个对象访问对象返回null   java我如何启动一个java应用程序。带有桌面快捷方式的jar文件(针对特定jre)   java将值从JTextField传递到方法的最佳方式?   在java中从字符串中分离子字符串   java如何初始化使用另一个映射作为值的EnumMap   单击<a>元素时java JSF调用bean方法   java Board的方块不会出现。   java如何在spring boot中部分回滚数据,错误将被分散   java从另一个类文件向类添加方法   如何修复错误“TimeBackUp.java使用未经检查或不安全的操作”?