我已经构建了一个自定义数据库,我想用一些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替换为my domain)
到正在发送GET请求的页面。任何想法吗?
Jawbone端点都有CORS标头设置为
Access-Control-Allow-Origin: *
然而,这仍然不允许来自本地主机的跨站点请求(感谢@ tirthrrajbarot在评论中的解释),所以你应该在Chrome中禁用此检查,如Access-Control-Allow-Origin扩展。
在对用户和权限进行身份验证后,我重定向到另一个页面以验证身份验证代码并获得访问令牌。从那里,我转到另一个页面发送数据的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);
数据被返回、解码和处理。结果将被推入表单中的文本框中,供用户根据需要进行编辑。还有一个将数据输入数据库的按钮(以及一堆输入其他相关详细信息的隐藏表单字段)