公共媒体平台api的python3包装器接口

py3-pmp-wrapper的Python项目详细描述


description
==


此软件包旨在方便浏览和从公共媒体平台(pmp)api检索内容。它使生成pmp api返回的签名
请求和浏览器超媒体资源变得容易。

由Erik Aker在圣地亚哥进行路演,并已根据GPL v2获得许可。

测试:pmp_客户端模块需要单元测试
2。文档:清理并写更多。
3.创建CollectionDoc类以创建新的CollectionDocs

它与python2.7及以下版本不兼容。下面所有有关安装此
应用程序的参考资料仅适用于python版本3.3和3.4。



3-pmp-wrapper

或者,使用"easy_install<;http://pypi.python.org/pypi/setuptools>;"` `:


$easy_install py3-pmp wrapper



获取代码
----

`可用<;https://github.com/kpbs/py3-pmp-wrapper>;`.


您可以克隆公共存储库::


$git clone https://github.com/kpbs/py3 pmp wrapper


一旦您有了源代码的副本,就可以将其嵌入到python包中,
或轻松地将其安装到您的站点包中::

$python setup.py install
quickstart
==


创建PMP客户端
----


>安装应用程序后,您可以从PMP API创建一个"客户端"对象:

>>>;>;>;来自PMP API的客户端导入客户端
>;>;客户端=客户端("https://api-pilot.pmp.io"



对您的客户进行身份验证对于工作客户,您将需要使用您的客户ID进行身份验证,并使用客户机密进行身份验证------

现在您已经准备好发出请求:

>;>;home_doc=client.home();get homedock
>;>;random_request=client.get("https://some/arvious/endpoint?params=someparam"
>>gt;随机请求
<;可导航文档:https://some/arvious/endpoint?params=someparam>;
>;>client.document最新结果保存在此处
<;navigabledoc:https://api-pilot.pmp.io/docs?params=someparam>;


"客户端"将自动签署所有请求,如果过期,它应续订您的
访问令牌。

r/>如果文档定义了一个"next"导航元素,我们可以遵循它
>;>client.next()
<;navigabledoc:https://api-pilot.pmp.io/docs?guid=some_guid&;offset=10>;
>;>;client.prev()与上面相同,如果没有则返回none…
>;
>;>;>;client.last()请求文档给出的结果的"最后"页
>;>;client.first()请求结果的"第一"页正如document

所给出的,我们也可以像浏览器一样"后退"或"前进",重新请求以前的
文档:

>;>client.document
<;navigabledoc:https://api-pilot.pmp.io/docs?params=someparam>;
>;>client.back()这会发出新请求;不会从缓存中提取LEDOC:https://api-pilot.pmp.io/docs?guid=some_guid>;
>;>client.forward()与"back"相同
<;navigabledoc:https://api-pilot.pmp.io/docs?params=someparam>;




大多数有用的导航是通过"urn"完成的,它是
访问内容的主要方法,客户端对象提供了一个"query"方法,用于
a"urn"。例如,让我们看看"urn:collectiondoc:query:docs",其中
包含用于查询文档的信息。

>;document=client.query('urn:collectiondoc:query:docs',
params={"tag":"samplecontent",
"profile":"story"})
<;naviGabledoc:https://api-pilot.pmp.io/docs?guid=some_guid>;

===


要真正获取有趣的信息,我们需要有一些方法来管理它。因此,"client"对象返回"navigabledoc"
元素。它们有许多方法和属性,这将使从文档中提取信息更加容易。

>;params={"tag":"samplecontent",
"profile":"story"})
<;naviGabledoc:https://api-pilot.pmp.io/docs?guid=一些guid>;
>;>document.links
{'item':[{'ref':'https://api-pilot.pmp.io/docs/someguid…
>;>client.document.items
[{'attributes':{'valid':{'to':'3014-07-29t18:08:11+00:00','from':…
>;>document.querylinks
[{'rels':['urn:collectiondoc:query:users'],'ref template':…

为了得到有趣的结果,我们通常希望发出查询,
,但是很难知道如何进行查询。"navigabledoc"对象可以帮助您实现这一点。

>>>;document.template('urn:collectiondoc:query:docs')
'https://api pilot.pmp.io/docs{?guid,limit,offset,tag,collection,text,searchsort,has,author,distributor,distributorgroup,startdate,enddate,profile,language}


>此外,我们还可以找到与"urn"相关联的选项:

>;>;document.options('urn:collectiondoc:query:docs')
{rels':['urn:collectiondoc:query:docs'],'ref template':…

我们必须向文档询问其"查询类型":


>;>;文档中的项目。查询类型():
…打印(项)
('query for users',['urn:collectiondoc:query:users'])
('query for schemas',['urn:collectiondoc:query:schemas'])
('access documents',['urn:collectiondoc:hreftpl:docs'])
('query for documents',['urn:collectiondoc:query:docs'])
lly,您总是可以通过访问文档的"collectiondoc"属性来检索文档中的所有结果。这将返回包含在文档中的所有
值的字典:

>;>doc.collectiondoc
{all-the-the-u data…}

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

推荐PyPI第三方库


热门话题
显示发生错误的java Ajax请求:Spring mvc maven项目   java修改对象会更改Ehcache值   java MBTiles文件有大小限制吗?   java服务:amazons3;状态代码:404;错误代码:NoSuchBucket;从IBM云对象存储获取文件时遇到问题   启动Java项目IDE、框架等的模型视图控制器。   java ActiveMQ,代理接收要发送的消息的时间戳   Java数组:方法不起作用   关于二进制搜索树的java问题将值插入到二进制搜索树   LWJGL在使用“java<class file>”命令时找不到类错误   java JVM崩溃,出现异常访问违反ntdll。dll+0x1b96f   java SSL握手挂起   当脚本显示在HTML文本区域中时,java是否可能进行XSS攻击?   java使用JSP创建购物车并将数据插入数据库   java如何使customActionBar透明并更改其文本颜色?