【问题标题】:Fitbit api with PHP CurlFitbit api 与 PHP Curl
【发布时间】:2016-08-18 15:03:30
【问题描述】:

我尝试通过 fitbit api 访问我的数据,授权部分工作得很好,我可以在我的用户设置中看到我的应用程序,我有一个全新的 access_token。但我无法从中获取任何数据总是收到 400 错误。

这是我的php代码

        $url = "https://api.fitbit.com/1/user/-/profile.json";

        $auth_header = array("Authorization: Bearer " . $_SESSION['access_token']);

        $curl = curl_init($url);
        curl_setopt($curl, CURLOPT_HEADER, true);
        curl_setopt($curl, CURLOPT_POST, true);             
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $auth_header);   

        $result = curl_exec($curl);
        curl_close($curl);

        $results = json_decode($result, true);

$result 总是

HTTP/1.1 400 Bad Request
Server: cloudflare-nginx
Date: Tue, 16 Aug 2016 14:56:45 GMT
Content-Type: text/html
Content-Length: 579
Connection: close

奇怪的是,即使我删除了标题,我总是得到 400 错误,而 fitbit 服务器没有任何错误。

不知道为什么???

谢谢

【问题讨论】:

    标签: fitbit


    【解决方案1】:

    这是我的项目的工作代码

    $oauth_profile_header = ["Authorization: Bearer " . $_SESSION['access_token']];                
    $url = "https://api.fitbit.com/1/user/-/profile.json";
    
    $cu = curl_init($url);
    curl_setopt($cu, CURLOPT_HTTPHEADER, $oauth_profile_header);
    curl_setopt($cu, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($cu, CURLOPT_SSL_VERIFYPEER, false);
    $result = curl_exec($cu);
    curl_close($cu);
    print_r($result);
    

    【讨论】:

    • 非常感谢您的回答,但我无法再测试它了,现在代码的第一部分停止工作,每次我调用 fitbit 获取代码时,它只返回这个 #_=_ .我在我的帐户中看到我的请求,如果我撤销它,我会看到 fitbit 页面接受请求 我单击接受,然后我将返回我的站点,最后带有 #_=_。以前还可以,很伤心。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-01
    • 2013-04-18
    • 1970-01-01
    • 2014-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多