1

我已经建立了一个自定义数据库,我想用我的一些 UP3 数据填充它。我已成功通过身份验证并收到带有我的 Bearer 令牌的 JSON 响应。从这里开始,我有点迷路了。

从文档中,我需要发送一个 GET 请求到

https://jawbone.com/nudge/api/v.1.1/users/@me

每次我这样做,我都会得到:

请求的资源上不存在“Access-Control-Allow-Origin”标头

我已经添加:

header('Access-Control-Allow-Origin: http://example.com'); 

(用我的域替换 example.com)

到发送 GET 请求的页面。有什么想法吗?

4

2 回答 2

0

Jawbone 端点都将 CORS 标头设置为

Access-Control-Allow-Origin: *

但是,这仍然不允许来自 localhost 的跨站点请求(感谢@TirthrajBarot 在评论中的解释),因此您应该在 Chrome 中使用Access-Control-Allow-Origin 扩展程序禁用此检查。

于 2016-09-20T15:46:27.290 回答
0

在对用户和权限进行身份验证后,我重定向到另一个页面以验证身份验证代码并获取访问令牌。从那里,我转到另一个页面来发送数据的 GET 请求。这是有效的代码:

    $url = "https://jawbone.com/nudge/api/v.1.1/users/@me/sleeps?" . $sleepDate;

    $options = array(
      'http'=>array(
        'method'=>"GET",
        'header'=>"Accept: application/json\r\n" .
                  "Authorization: Bearer " . $accessToken . "\r\n" . 
                  "Host: {my website}"
      )
    );

    $context = stream_context_create($options);
    $sleepData = @file_get_contents($url, false, $context);

数据被返回、解码和处理。结果被推送到表单中的文本框中,供用户根据需要进行编辑。还有一个按钮可以将数据输入数据库(以及一堆用于输入其他相关详细信息的隐藏表单字段)

于 2016-09-20T19:42:00.070 回答