连接到popit api的python绑定
PopIt-Python的Python项目详细描述
popit python连接到"popit<;https://github.com/mysociety/popit>;"api的python绑定。通过此绑定,您可以*创建*、*读取*、*更新*和*删除*POPIT中的任何项目。实际上,这只是"popit's<;https://github.com/mysociety/popit>;""restful api"的一个方便的包装器。
克隆此repo并根据需要安装。
确保popit正在运行,并且您拥有所需的所有信息。然后使用"popit"构造函数获取对象。用法:
from popit_api import popit
hostname='127-0-0-1.org.uk',
port=3000,
api_version='v0.1',
api_key='f093903b7a1aa9688b36241502beadc7')
*`instance``创建的实例的名称。一次安装可以有多个。
*``hostname`` popit服务器的主机名。
*``api`版本`` popit api的版本。由于在popit中访问数据的方式可能会发生变化,因此需要有一个稳定的api版本。如果可能的话,我们建议您使用最新版本。
*``port`` popit正在监听的端口。可能是"80"或"3000"。`` 80``是默认值。
*``api_key``这是您可以通过在您的实例的popit web界面中单击
"获取api key"来请求的api密钥,如文档<;http://popit.poplus.org/docs/api/\authentication>;中所述;`.
如果您仍在使用旧的popit实例,并且尚未升级新的、更安全的身份验证系统的帐户,则可以提供"user"和"password":用户名,使用
*``password``创建实例的电子邮件地址创建实例时通过电子邮件发送的密码
…创建什么?
~~~~~~~~~~~~~~~~~~~~~~~~~~
此popitWrapper允许您轻松地按名称创建新项。这可以是"人"、"组织"或"职位"。您可以在"popit api文档"中找到其他选项:http://popit.poplus.org/docs/api/>;`。用法:
new廑person=api.persons.post({name':'albert keinstein'})
print(new廑person)
popit,使用"name(id)"。:
您需要一个有效的ID,例如从创建过程中获得的ID。
person=api.persons(id).get()
print(person)
::
people=api.persons.get()
print(people)
更新一些内容?
~~~~~~~~~~~~~~~~~~~~~~~
:
result=api.persons(id).put({"name":"albert einstein"})
print(result)
……删除一些内容?
~~~~~~~~~~~~~~~~~~~~~~~
:
成功删除=api.persons(id.delete()
……收到错误?
~~~~~~~~~~~~~~~~~~
这很简单。这个包装器帮助您处理各种错误消息,帮助您使包装器正常工作。以下是错误消息的一些解释。
**httpclienterror:client error 404**
您正在查找不存在的项。请提供有效的ID。当您尝试*创建*、*读取*、*更新*或*删除*项目时,可能会发生此错误。
**httpclienterror:client error 401**
*更新*或*删除*一个项目,但提供了错误的用户名或密码。
*注意*:在实际尝试之前,您不会看到此错误修改任何数据。
**schemaerror:'foo不存在。尝试下列模式之一:组织、职位、人员。"**
当您试图从不存在的模式(在本例中为"foo")获取数据时,会发生这种情况。可用的架构是在您第一次创建API对象时确定的。
…获取有关内部情况的详细信息?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
启用日志记录。用法:
logging.basicconfig(level=logging.warn,format=format)
requirements
----
要指定请求的版本,因为Slumber没有,并且它与请求不兼容>;=1.0.0。它也需要在睡觉前指定和安装,否则Slumber的requirements.txt将覆盖它,并且您指定的版本将不会被安装。
服务器
*安装'oktest<;http://www.kuwata-lab.com/oktest/>;` `(``pip install oktest``)
*确保POPIT正在运行。如果没有正在运行的popit实例,则无法测试此包装器。
*运行``python test.py``
克隆此repo并根据需要安装。
确保popit正在运行,并且您拥有所需的所有信息。然后使用"popit"构造函数获取对象。用法:
from popit_api import popit
port=3000,
api_version='v0.1',
api_key='f093903b7a1aa9688b36241502beadc7')
*`instance``创建的实例的名称。一次安装可以有多个。
*``hostname`` popit服务器的主机名。
*``api`版本`` popit api的版本。由于在popit中访问数据的方式可能会发生变化,因此需要有一个稳定的api版本。如果可能的话,我们建议您使用最新版本。
*``port`` popit正在监听的端口。可能是"80"或"3000"。`` 80``是默认值。
*``api_key``这是您可以通过在您的实例的popit web界面中单击
"获取api key"来请求的api密钥,如文档<;http://popit.poplus.org/docs/api/\authentication>;中所述;`.
如果您仍在使用旧的popit实例,并且尚未升级新的、更安全的身份验证系统的帐户,则可以提供"user"和"password":用户名,使用
*``password``创建实例的电子邮件地址创建实例时通过电子邮件发送的密码
…创建什么?
~~~~~~~~~~~~~~~~~~~~~~~~~~
此popitWrapper允许您轻松地按名称创建新项。这可以是"人"、"组织"或"职位"。您可以在"popit api文档"中找到其他选项:http://popit.poplus.org/docs/api/>;`。用法:
new廑person=api.persons.post({name':'albert keinstein'})
print(new廑person)
popit,使用"name(id)"。:
您需要一个有效的ID,例如从创建过程中获得的ID。
person=api.persons(id).get()
print(person)
::
people=api.persons.get()
print(people)
更新一些内容?
~~~~~~~~~~~~~~~~~~~~~~~
:
result=api.persons(id).put({"name":"albert einstein"})
print(result)
……删除一些内容?
~~~~~~~~~~~~~~~~~~~~~~~
:
成功删除=api.persons(id.delete()
……收到错误?
~~~~~~~~~~~~~~~~~~
这很简单。这个包装器帮助您处理各种错误消息,帮助您使包装器正常工作。以下是错误消息的一些解释。
**httpclienterror:client error 404**
您正在查找不存在的项。请提供有效的ID。当您尝试*创建*、*读取*、*更新*或*删除*项目时,可能会发生此错误。
**httpclienterror:client error 401**
*更新*或*删除*一个项目,但提供了错误的用户名或密码。
*注意*:在实际尝试之前,您不会看到此错误修改任何数据。
**schemaerror:'foo不存在。尝试下列模式之一:组织、职位、人员。"**
当您试图从不存在的模式(在本例中为"foo")获取数据时,会发生这种情况。可用的架构是在您第一次创建API对象时确定的。
…获取有关内部情况的详细信息?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
启用日志记录。用法:
logging.basicconfig(level=logging.warn,format=format)
requirements
----
要指定请求的版本,因为Slumber没有,并且它与请求不兼容>;=1.0.0。它也需要在睡觉前指定和安装,否则Slumber的requirements.txt将覆盖它,并且您指定的版本将不会被安装。
服务器
*安装'oktest<;http://www.kuwata-lab.com/oktest/>;` `(``pip install oktest``)
*确保POPIT正在运行。如果没有正在运行的popit实例,则无法测试此包装器。
*运行``python test.py``