目录api的python客户端。

directory-api-client的Python项目详细描述


目录API客户端

code-climate-imagecircle-ci-imagecodecov-imagepypi-imagesemver-image

伟大的api客户端。


安装

$ pip install directory-api-client

API客户端需要以下设置:

SettingNotes
DIRECTORY_API_CLIENT_BASE_URL
DIRECTORY_API_CLIENT_API_KEYUnique to client. Retrieved during the on-boarding process.
DIRECTORY_API_CLIENT_SENDER_IDUnique to client. Retrieved during the on-boarding process.
DIRECTORY_API_CLIENT_DEFAULT_TIMEOUT

以下directory client core settings也适用于目录cms客户端:

SettingNotes
DIRECTORY_CLIENT_CORE_CACHE_EXPIRE_SECONDSDuration to store the retrieved content in the cache.
DIRECTORY_CLIENT_CORE_CACHE_LOG_THROTTLING_SECONDSDuration 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

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

推荐PyPI第三方库


热门话题
java JList侦听器找不到符号   多点触摸跨平台java应用程序(Windows、Mac和Linux(Ubuntu)(可能是Android))   在UnitTest中找不到java类加载器资源   java当我尝试在Eclipse中运行我的minecraft mod时,我总是遇到这个错误,这是什么意思?   内部有一个同步块的静态方法,在java中阻止整个类?   不支持java操作:具有BillableStatus的费用在采购中应具有AccountBasedExpenseLineDetail行的CustomerRef   java运行时常量池GC集合   java无法解析配置“:app:\u debugApk”的所有依赖项。找不到名为“default”的配置   在GCP计算引擎中托管Neo4j的java   java如何从BroadcastReceiver更新片段选项卡?   线程“main”组织中的java异常。冬眠注释异常:@org。冬眠注释。表引用未知表:ProductForPractice   在Java/Groovy中嵌入处理   java Android REST教程/示例项目   java我可以在同一测试中在一个模拟器上启动应用程序,在另一个模拟器上启动移动浏览器吗?   java如何更改通知横幅的方向?   安卓 Java帮助实现Firebase授权   if else之后的rs.next()中出现java错误?