gpt4 book ai didi

Fitbit 订阅 API

转载 作者:行者123 更新时间:2023-12-04 15:03:54 28 4
gpt4 key购买 nike

我已经使用 Fitbit 的 PHP 库 (www.disciplinexgames.com/fitbit) 在我的网站中成功集成了 FitBit api。它工作正常,但我现在想使用订阅 API,以便我们可以在新数据可用时立即更新数据库中的数据。我已经浏览了订阅 API 文档并在订阅者端点注册了该应用程序,但是在获取更新通知时我迷路了。在我应该在代码中添加或更改什么等方面,文档并没有真正得到太多帮助。是否有任何与订阅 API 相关的 PHP 示例代码或我应该做什么的建议。

工作网址:http://www.disciplinexgames.com/fitbit/

任何帮助将不胜感激。有点沮丧,因为我没有收到任何错误,但同时也没有更新通知。

谢谢

最佳答案

很抱歉这个答案迟到了两年,但也许它会对某人有所帮助。

一旦您知道用户的 token 和 token secret ,您就可以使用以下 OAUTH POST 请求订阅他们的提要。此 URL 用于他们的事件提要。

<?php
$consumerKey = "lajsdf23l4l8asdfn238ladf8xjk92oi"; //From Fitbit's website when you sign up for an app
$consumerSecret = "l8adl3halsdf82p9adfads2gjadsf"; //From Fitbit's website when you sign up for an app
$oauth = new OAuth($consumerKey,$consumerSecret,OAUTH_SIG_METHOD_HMACSHA1,OAUTH_AUTH_TYPE_AUTHORIZATION);

$usersToken = "k28a9wifvnc89w2o8oigaad8e23r23jf";
$usersSecret = "234o8fdofsy8df89aydfoyo84e2902af";
$oauth->setToken($usersToken,$usersSecret);

$subscriptionURL = "https://api.fitbit.com/1/user/-/activities/apiSubscriptions.json";

try{
//Send a POST to subscribe as stated on https://wiki.fitbit.com/display/API/Fitbit+Subscriptions+API
$oauth->fetch($subscriptionURL, null, OAUTH_HTTP_METHOD_POST);
print_r(json_decode($oauth->getLastResponse())); // Make sure the request was successful
}
catch(Exception $e){
echo 'ERROR:';
print_r($e);
print_r($oauth->getRequestHeader('POST', $url));
}

您的订阅者 URL 端点应该是一个网页,您可以在其中使用一些代码来接收 Fitbit 数据并执行您需要的任何操作。下面是一些可以帮助您入门的 PHP 代码。
<?php   
// Get the input data and create a PHP object to use.
$fitbitPushData = file_get_contents("php://input");
$fitbitData = json_decode($fitbitPushData);

出于测试目的,我建议首先在 http://requestb.in/ 创建一个 RequestBin并将其用作您的订阅者端点 URL。这样您就可以轻松查看有人同步时 Fitbit 发送的数据。您可以将该 JSON 字符串复制到订阅者 URL 端点代码,并在将站点设置为订阅端点 URL 之前测试您希望如何处理数据。

我学到的其他一些教训:

根据您拥有的用户数量,您可能希望您的订阅者 URL 位于不同的服务器上。每次用户同步他们的 Fitbit 时,此 URL 都会被点击,这可能会导致大量流量。如果您的订阅者 URL 失败 10% 或更多,或者无法在 3 秒内响应,Fitbit 将禁用您的订阅者 URL。

另一个重要部分是,这不会向您发送用户的最新数据。它只会让您知道他们已经更新了他们的数据。您仍然需要发出 API 请求以获取他们的最新数据。每个用户每小时只能发出 150 个 API 请求,因此最好限制检查每个用户的频率。我有一些用户一直在同步,这导致每个小时都会收到来自 Fitbit 的电子邮件,指出我的应用程序已超出这些用户的速率限制。

关于Fitbit 订阅 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16195289/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com