目录api的python客户端。
directory-api-client的Python项目详细描述
目录API客户端
伟大的api客户端。
安装
$ pip install directory-api-client
API客户端需要以下设置:
Setting | Notes |
---|---|
DIRECTORY_API_CLIENT_BASE_URL | |
DIRECTORY_API_CLIENT_API_KEY | Unique to client. Retrieved during the on-boarding process. |
DIRECTORY_API_CLIENT_SENDER_ID | Unique to client. Retrieved during the on-boarding process. |
DIRECTORY_API_CLIENT_DEFAULT_TIMEOUT |
以下directory client core settings也适用于目录cms客户端:
Setting | Notes |
---|---|
DIRECTORY_CLIENT_CORE_CACHE_EXPIRE_SECONDS | Duration to store the retrieved content in the cache. |
DIRECTORY_CLIENT_CORE_CACHE_LOG_THROTTLING_SECONDS | Duration to throttle log events for a given url for. |
并且缓存需要以下键入缓存设置:api_fallback
完成后,可以使用api客户端:
fromdirectory_api_client.clientimportapi_client
开发
$ git clone https://github.com/uktrade/directory-api-client $ cd directory-api-client $ [create virtual environment and activate] $ make test_requirements
回退缓存
在可行的情况下,将响应缓存到客户端的回退缓存。如果api返回不成功的响应或超时,则允许稍后检索。
在处理程序上启用回退缓存时,请确保请求的querystring或url路径对每个用户都是唯一的,否则用户b的详细信息可能会泄露给用户a。
例如,api_client.company.profile_retrieve
查找公司以查找经过身份验证的用户。生成响应的缓存密钥时不使用身份验证头。这意味着对于该端点,querystring和url对于所有用户都是相同的,因此缓存密钥对于所有用户也是相同的。这意味着如果api关闭,那么所有用户都将看到公司的详细信息,以便最后一个用户成功地检索他们的公司。
发布到pypi
包应该在合并到主服务器时发布到pypi。如果您需要在本地执行此操作,请从rattic获取凭据并将环境变量添加到主机:
Setting |
---|
DIRECTORY_PYPI_USERNAME |
DIRECTORY_PYPI_PASSWORD |
然后运行以下命令:
$ make publish