হাতে একটি অ্যাক্সেস টোকেন এবং প্রাথমিক ডিভাইস তালিকা কল করা হলে, আপনি এখন আপনার ডিভাইস অ্যাক্সেস এবং নিয়ন্ত্রণ করতে 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 কপি করুন, অন্যান্য API কলের জন্য আপনার এটির প্রয়োজন হবে।
একটি ডিভাইসের জন্য তথ্য পান
একটি নির্দিষ্ট ডিভাইসের তথ্য পেতে, 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" : {}
  }'আপনার কল সফল হলে, নিম্নলিখিত ফলাফলগুলি ঘটবে:
থার্মোস্ট্যাট
আপনি একটি খালি প্রতিক্রিয়া পাবেন এবং ভৌত থার্মোস্ট্যাট তার বর্তমান মোডকে কমান্ড প্যারামিটারে নির্দিষ্ট করা মোডে পরিবর্তন করে।
{}ক্যামেরা
আপনি একটি লাইভ স্ট্রিম URL এবং সম্পর্কিত টোকেন পাবেন।
{
  "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-এর অ্যাক্সেস টোকেন শুধুমাত্র 1 ঘন্টার জন্য বৈধ। আপনি যদি একটি অননুমোদিত প্রতিক্রিয়া পান, তাহলে টোকেনের মেয়াদ শেষ হয়ে গেছে। একটি নতুন অ্যাক্সেস টোকেন পেতে আপনার রিফ্রেশ টোকেন ব্যবহার করুন ।
অন্যান্য ত্রুটি
সম্পূর্ণ তালিকার জন্য ত্রুটি কোড রেফারেন্স দেখুন Device Access ত্রুটি কোড।
