trustpilot api客户端,包括cli工具

trustpilot的Python项目详细描述


Build StatusLatest VersionPython Support

python http客户端 Trustpilot

功能

  • 扩展 `requests.Session<;http://docs.python-requests.org/en/master/api/#requests.Session>;。`_ 使用公共和私有终结点的自动身份验证初始化
  • get、post、put、delete、head、options和patch方法都是公开的 在模块级
  • 实现会话工厂和默认的单例会话
  • 提供简单的挂钩系统
  • 带有基本http命令的cli工具

安装

使用PyPI安装程序包 pip

pip install trustpilot

开始

此客户端正在使用 Requests库。 回答是标准的 `requests.Response<;http://docs.python-requests.org/en/master/api/#requests.Response>;。`_ 物体。你可以把它当作一个工厂,也可以当作一个独立的工厂。

使用单一会话

使用内置的default session实例化全局 无障碍会话。

fromtrustpilotimportclientclient.default_session.setup(api_host="https://api.trustpilot.com",api_version="v1",api_key="YOUR_API_KEY",api_secret="YOUR_API_SECRET",username="YOUR_TRUSTPILOT_BUSINESS_USERNAME",password="YOUR_TRUSTPILOT_BUSINESS_PASSWORD")response=client.get("/foo/bar")

会话的设置可以依赖于环境变量,因此

$ env
TRUSTPILOT_API_HOST=foobar.com
TRUSTPILOT_API_VERSION=v1
TRUSTPILOT_API_KEY=foo
TRUSTPILOT_API_SECRET=bar
TRUSTPILOT_USERNAME=username
TRUSTPILOT_PASSWORD=password

将使用隐式default_sessionTrustpilotSession.setup方法。

fromtrustpilotimportclientclient.get("/foo/bar")

实例化您自己的会话

你可以创建任意多个会话,只要你通过它们 在你身边。

fromtrustpilotimportclientsession=client.TrustpilotSession(api_host="https://api.trustpilot.com",api_version="v1",api_key="YOUR_API_KEY",api_secret="YOUR_API_SECRET",username="YOUR_TRUSTPILOT_BUSINESS_USERNAME",password="YOUR_TRUSTPILOT_BUSINESS_PASSWORD")response=session.get("/foo/bar")

异步客户端

由于版本3.0.0,您可以将async_client用于 asyncio用例。

要使用默认的async_client会话,请使用env-varsfor 设置,导入如下:

importasynciofromtrustpilotimportasync_clientloop=asyncio.get_event_loop()asyncdefget_response():response=awaitasync_client.get('/foo/bar')response_json=awaitresponse.json()loop.run_until_complete(get_response())

或者用以下命令实例化会话:

importasynciofromtrustpilotimportasync_clientloop=asyncio.get_event_loop()session=async_client.TrustpilotAsyncSession(api_host="https://api.trustpilot.com",api_version="v1",api_key="YOUR_API_KEY",api_secret="YOUR_API_SECRET",username="YOUR_TRUSTPILOT_BUSINESS_USERNAME",password="YOUR_TRUSTPILOT_BUSINESS_PASSWORD")asyncdefget_response():response=awaitsession.get('/foo/bar')response_json=awaitresponse.json()loop.run_until_complete(get_response())

cli

命令行工具trustpilot_api_client与 模块。要调用它,请使用:

Usage: trustpilot_api_client [OPTIONS] COMMAND [ARGS]...

Options:
  --host TEXT               host name
  --version TEST            api version
  --key TEXT                api key
  --secret TEXT             api secret
  --token_issuer_host TEXT  token issuer host name
  --username TEXT           Trustpilot username
  --password TEXT           Trustpilot password
  -c TEXT                   json config file name
  -v, --verbose             verbosity level
  --help                    Show this message and exit.

Commands:
  create_access_token  Get an access token
  delete               Send a DELETE request
  get                  Send a GET request
  post                 Send a POST request with specified data
  put                  Send a PUT request with specified data

要使用-c选项,请提供json的文件名 格式如下:

{"TRUSTPILOT_API_HOST":"foo","TRUSTPILOT_API_VERSION":"v1","TRUSTPILOT_API_KEY":"bar","TRUSTPILOT_API_SECRET":"baz","TRUSTPILOT_USERNAME":"username","TRUSTPILOT_PASSWORD":"password"}

测试

您可以使用pytest对当前的python版本运行测试。

有关测试依赖项,请参见`setup.py<;setup.py>;`。

历史记录

0.1.0(2016-11-09)

  • 在Gemfury上首次发布

0.1.1(2016-11-09)

  • 更改名称

0.1.2(2016-11-09)

  • 使用401重试解决问题

0.1.3(2016-11-10)

  • 向setup.py添加依赖项

0.1.4(2016-11-11)

  • cli工具

0.1.5(2016-11-11)

  • 修复apikey url查询参数错误

0.1.6(2016-11-11)

  • 介绍与api主机不同的令牌颁发者主机

0.1.7(2016-12-06)

  • 在会话对象上引入context getter,默认为保持correlationid=random

1.0.0(2017-02-01)

  • 作为OSS的第一个版本,内部机器的主要重构(会话对象、重试策略、CLI、测试等)

1.1.0(2017-06-12)

2.0.0(2017-09-29)

  • 已弃用:create_session已弃用,请改用trustpilot.client.default_session.setup
  • 现在可以查询公共端点而无需验证

2.1.0(2017-10-05)

  • 已修复cli.post&cli.put中“content_type”应为“content type”的问题

3.0.0(2018-01-18)

删除不使用!!

  • 添加异步客户端

3.0.1(2018-01-18)

  • 删除的指纹
  • 使异步客户机在未经授权的情况下重试

4.0.0(2018-06-06)

  • 放弃对Python3.3的支持

4.0.1(2018-06-06)

  • 切换到实用程序方法调用的非弃用会话对象

4.0.2(2018-10-30)

  • 将请求升级到2.20.0

5.0.0(2019-01-04)

  • 更新到身份验证方法

5.0.1(2019-02-04)

  • 修复文档格式

6.0.0(2019-02-06)

  • 重新组织代码
  • 添加用户代理标题
  • 在异步客户机中使用异步调用获取访问令牌

6.0.3(2019-08-15)

  • 添加了对客户端初始化的“API版本”参数的支持。

6.0.4(2019-08-15)

  • 删除“自动部署到Travis”

6.0.5(2019-08-15)

  • 允许更新版本的请求依赖项

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

推荐PyPI第三方库


热门话题
文件名的java正则表达式限制名称大小和文件扩展名   Mac上的java Android SDK:jspawnhelper意外退出   java SQL Server 2000到Oracle 12c重音字符   在Java中快速比较大数据集中的值和小数据集中的值   java在代码中的许多地方保留对对象的引用   Java规范中私有内部类的jvm访问标志与反射API不一致?   比较2个int数组中匹配的数字   java Apache Commons数学简化回归:get prediction stderr   安卓 Java SDK管理器因命令行输出中的“flashplayerplugin”而崩溃   JavaSQLite:关闭DB时必须关闭游标吗?   泛型Java设计抽象类声明示例说明   java应用程序在添加片段时崩溃   如何在java中使用注释为字段加载值