Xively provisioning: Activating a device more than once/fetching API key & feed Id a second time

狂风中的少年 提交于 2019-12-12 19:47:40

问题


I am working with testing out provisioning for an embedded device where I can't save the API key and feed ID when power cycling.

After activating the product once, I get 403 forbidden when trying to fetch the device API key and feed id for the second time, even though I am supplying a master API key (with read permission) when making the request. The request works however when using API key belonging to the device, which is an inadequate solution considering I don't have access to that API key.

My GET request is formatted as follows:

GET /v2/devices/<activation code>/activate.csv HTTP/1.1
Host: api.xively.com
X-ApiKey: <master API key>
Content-Length: 0

So, is there a way for an already activated device to receive its API key and feed ID?


回答1:


A device can only be activated once. However, if you have a master key, retrieving the devices API key should be pretty easy. You say you don't know the devices feed ID, but if you used the activation endpoint I imagine you know its serial number?

If you do know its serial number try making a GET request to https://api.cosm.com/v2/products/PRODUCT_ID/devices/DEVICE_SERIAL with your master API key in the X-ApiKey header.

This should return the following JSON, with you feed ID and API key.

{
    "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"
    }  
}

You should also be able to make consecutive activations, if you pass the API key you got from the first activation.



来源:https://stackoverflow.com/questions/24676891/xively-provisioning-activating-a-device-more-than-once-fetching-api-key-feed

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!