我正在测试嵌入式设备的配置,我无法在重启时保存API密钥和Feed ID。
在激活产品一次后,即使我在发出请求时提供主API密钥(具有读取权限),我在第二次尝试获取设备API密钥和Feed id时仍会被禁止403。但是,当使用属于设备的API密钥时,请求仍然有效,考虑到我无法访问该API密钥,这是一个不适当的解决方案。
我的GET请求格式如下:
GET /v2/devices/<activation code>/activate.csv HTTP/1.1
Host: api.xively.com
X-ApiKey: <master API key>
Content-Length: 0
那么,有没有办法让已经激活的设备接收其API密钥和Feed ID?
答案 0 :(得分:1)
设备只能激活一次。但是,如果您有主密钥,则检索设备API密钥应该非常简单。您说您不知道设备的供稿ID,但如果您使用了激活终端,我想您知道它的序列号?
如果您确实知道其序列号,请尝试使用https://api.cosm.com/v2/products/PRODUCT_ID/devices/DEVICE_SERIAL
标头中的主API密钥向X-ApiKey
发出GET请求。
这应返回以下JSON,并附上您的Feed ID和API密钥。
{
"device": {
"serial": "SERIAL",
"activation_code": "ACTIVATION_CODE",
"created_at": "2013-05-05T18:11:42Z",
"activated_at": "2013-10-18T16:25:07Z",
"feed_id": FEED_ID,
"api_key": "DEVICE_API_KEY"
}
}
如果您传递了第一次激活时获得的API密钥,您还应该可以进行连续激活。