অ্যাক্সেস টোকেন হাতে নিয়ে এবং ডিভাইসের তালিকা দেখার প্রাথমিক কাজটি সম্পন্ন করার পর, আপনি এখন আপনার ডিভাইস অ্যাক্সেস ও নিয়ন্ত্রণ করতে SDM API ব্যবহার করার জন্য প্রস্তুত।
তালিকা কাঠামো এবং ডিভাইস
structures এন্ডপয়েন্টে একটি সাধারণ GET কল করতে curl ব্যবহার করুন:
curl -X GET 'https://smartdevicemanagement.googleapis.com/v1/enterprises/project-id/structures' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer access-token'একটি সফল কল আপনার সাথে লিঙ্ক করা অ্যাকাউন্টগুলির কাঠামোর একটি তালিকা ফেরত দেয়।Device Access প্রকল্প:
{
"structures": [
{
"name": "enterprises/project-id/structures/structure-id",
"traits": {
"sdm.structures.traits.Info": {
"customName": "structure-name"
}
}
}
]
} যদি আপনি ইতিমধ্যে তা না করে থাকেন, তাহলে ডিভাইসগুলির একটি তালিকা পেতে devices এন্ডপয়েন্টে একটি GET কল করুন:
curl -X GET 'https://smartdevicemanagement.googleapis.com/v1/enterprises/project-id/devices' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer access-token'একটি সফল কলের ফলে আপনার সাথে সংযুক্ত ডিভাইসগুলির একটি তালিকা ফেরত আসে। Device Accessপ্রকল্প। প্রতিটি ডিভাইসের নিজস্ব অনন্য বৈশিষ্ট্য তালিকা রয়েছে:
{
"devices": [
{
"name": "enterprises/project-id/devices/device-id",
"type": "sdm.devices.types.device-type",
"traits": { ... },
"parentRelations": [
{
"parent": "enterprises/project-id/structures/structure-id/rooms/room-id",
"displayName": "device-room-name"
}
]
}
]
}প্রতিটি ডিভাইসের device-id কপি করে রাখুন, অন্যান্য এপিআই কলের জন্য এটি প্রয়োজন হবে।
একটি ডিভাইসের জন্য তথ্য পান
কোনো নির্দিষ্ট ডিভাইসের তথ্য পেতে, device-id এন্ডপয়েন্টে একটি GET কল করুন:
curl -X GET 'https://smartdevicemanagement.googleapis.com/v1/enterprises/project-id/devices/device-id' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer access-token'প্রতিক্রিয়াটি আগের মতোই হওয়া উচিত, তবে শুধু নির্দিষ্ট ডিভাইসটির জন্য:
{
"name": "enterprises/project-id/devices/device-id",
"type": "sdm.devices.types.device-type",
"traits": { ... },
"parentRelations": [
{
"parent": "enterprises/project-id/structures/structure-id/rooms/room-id",
"displayName": "device-room-name"
}
]
}একটি কমান্ড কার্যকর করুন
একটি সফল GET কলের মাধ্যমে আপনার অ্যাক্সেস যাচাই করার পর, আপনার অনুমোদিত ডিভাইসের ধরন অনুযায়ী একটি কমান্ড চালানোর চেষ্টা করুন:
থার্মোস্ট্যাট
curl -X POST \
'https://smartdevicemanagement.googleapis.com/v1/enterprises/project-id/devices/device-id:executeCommand' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer access-token' \
--data-raw '{
"command" : "sdm.devices.commands.ThermostatMode.SetMode",
"params" : {
"mode" : "HEAT"
}
}'ক্যামেরা
curl -X POST \
'https://smartdevicemanagement.googleapis.com/v1/enterprises/project-id/devices/device-id:executeCommand' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer access-token' \
--data-raw '{
"command" : "sdm.devices.commands.CameraLiveStream.GenerateRtspStream",
"params" : {}
}'আপনার কল সফল হলে, নিম্নলিখিত ফলাফলগুলি ঘটে:
থার্মোস্ট্যাট
আপনি একটি খালি প্রতিক্রিয়া পান এবং ভৌত থার্মোস্ট্যাটটি তার বর্তমান মোড পরিবর্তন করে কমান্ড প্যারামিটারে নির্দিষ্ট করা মোডে চলে যায়।
{}ক্যামেরা
আপনি একটি লাইভ স্ট্রিম ইউআরএল এবং সংশ্লিষ্ট টোকেন পাবেন।
{
"results" : {
"streamUrls" : {
"rtspUrl" : "rtsps://someurl.com/CjY5Y3VKaTZwR3o4Y19YbTVfMF...?auth=g.0.streamingToken"
},
"streamExtensionToken" : "CjY5Y3VKaTZwR3o4Y19YbTVfMF...",
"streamToken" : "g.0.streamingToken",
"expiresAt" : "2018-01-04T18:30:00.000Z"
}
}সমস্যা সমাধান
অপ্রমাণিত
SDM API-এর অ্যাক্সেস টোকেনগুলো শুধুমাত্র ১ ঘণ্টার জন্য বৈধ থাকে। যদি আপনি একটি UNAUTHENTICATED প্রতিক্রিয়া পান, তাহলে সম্ভবত টোকেনটির মেয়াদ শেষ হয়ে গেছে। একটি নতুন অ্যাক্সেস টোকেন পেতে আপনার রিফ্রেশ টোকেনটি ব্যবহার করুন ।
অন্যান্য ত্রুটি
সম্পূর্ণ তালিকার জন্য ত্রুটি কোড রেফারেন্স দেখুন। Device Access ত্রুটি কোড।