communitychair1 / hv-client-lib
轻量级PHP库,易于连接到Microsoft HealthVault。
Requires
- biologis/hv-raw-connector: >=1.2.0
- psr/log: 1.0.0
- querypath/querypath: >=3.0.0
This package is not auto-updated.
Last update: 2024-09-23 13:57:34 UTC
README
一个易于使用的PHP库,用于通过HVRawConnectorPHP连接到Microsoft® HealthVault™。它增加了更友好的面向对象编程接口,并隐藏了HealthVault协议中(大部分)复杂的XML部分。
这个库是从HVClientPHP分叉出来的,并且已经为库创建和添加了许多新特性。变更列表位于本文件的底部。
安装
HVClientLibPHP依赖于HVRawConnectorPHP。
您可以使用composer简单地安装HVRawConnectorPHP及其依赖项。
要将HVClientLibPHP添加到您的项目中作为库,将类似以下内容添加到您的composer.json
的'require'部分
{ "require": { "communitychair1/hv-client-lib": "dev-master" } }
如果composer对未知的pear通道有抱怨,请在您的composer.json
中添加以下内容
{ "repositories": [ { "type": "pear", "url": "http://pear.php.net" } ] }
HVClientLibPHP的早期版本也可以通过pear安装,包括所有依赖项
pear channel-discover pear.biologis.com
pear channel-discover pear.querypath.org
pear install biologis/HVClient
此方法将HVClientLibPHP作为库安装,但不包含可用的示例应用程序。
状态
HVClientLibPHP不是一个完整的HealthVault SDK,但应该提供所有创建强大的HealthVault应用程序所需的PHP功能。
它基本上可以处理所有事物,但随着时间的推移,我们将在表示类中添加更多便利函数。
但当前实现的方法数量非常有限(基本方法是可用的)
- GetPersonInfo
- GetThings
- PutThings
如果您需要更多功能并了解可用的文档,您可以直接使用HVRawConnectorPHP。在这种情况下,您最好将您的工作贡献出来,以便HVClientLibPHP能够更快地发展。
用法
这是一个简单示例,用于显示所有体重测量值
$hv = new HVClient($yourAppId, $_SESSION); $hv->connect($yourCertThumbPrint, $yourPrivateKey); $personInfo = $hv->getPersonInfo(); $recordId = $personInfo->selected_record_id; $things = $hv->getThings('Weight Measurement', $recordId); foreach ($things as $thing) { print $thing->weight->value->kg; }
使用不同国家和语言连接不同的HealthVault™实例
$hv = new HVClient($yourAppId, $_SESSION); $hv->setHealthVaultPlatform( 'https://platform.healthvault-ppe.co.uk/platform/wildcat.ashx'); $hv->setLanguage('de'); $hv->setCountry('DE'); $hv->connect($yourCertThumbPrint, $yourPrivateKey);
要连接基于PHP的HealthVault™应用程序,您的应用程序需要由用户授权,并且用户本身需要针对HealthVault™进行身份验证。如果这些要求中的任何一个未得到满足,HVClientLibPHP将抛出相应的异常。在这种情况下,您可以创建一个链接,将用户带到HealthVault™进行身份验证,并授权您的应用程序,然后在您的网站之后将其带回来
$hv = new HVClient($yourAppId, $_SESSION); try { $hv->connect($yourCertThumbPrint, $yourPrivateKey); $personInfo = $hv->getPersonInfo(); } catch (HVRawConnectorUserNotAuthenticatedException $e) { print '<a href="' . $hv->getAuthenticationURL($yourReturnURL) . ">Authenticate</a>'; }
有关更多示例,请参阅HVClientLibPHP中包含的demo_app源代码。
HVClientLibPHP永远不会提供注册新HealthVault™应用程序或引导您完成入门过程的API,因为这可以很容易地使用应用程序配置中心完成。
因此,首先在那里注册您的应用程序,然后开始编码。
demo_app(又称Hello World)已经注册。对于您的第一次测试,您也可以使用其凭据立即开始。
演示
此存储库中包含的demo_app当前演示两个功能
- 它查询用户的HealthVault记录中的所有"事物",并转储原始XML内容。
- 该列表显示了您所选健康记录中上传的所有文件,并允许您上传更多文件。
默认情况下,它使用美国预生产版本的HealthVault。
要开始使用,请遵循上面的安装说明,将demo_app文件夹放在Web服务器上,并访问“demo_app/index.php”。
更改和新增
- 向库中添加了多种类型,例如情绪状态、睡眠会话、与睡眠相关的活动和健康日志条目。
- 创建了辅助方法,用于将健康库项目类型导出为JSON,并便于创建各种项目类型。
- HV Connect功能已更新,支持在线和离线连接模式。
- Get Things功能已更新,支持图片和文件的存储。
- 创建了单元测试,以测试所有这些功能以及原始库的一些功能。