Notice: We're retiring Works with Nest. See the home page for more information.
Google is committed to advancing racial equity for Black communities. See how.
This page was translated by the Cloud Translation API.
Switch to English

এপিআই পড়ুন উদাহরণ

দূরে

কাঠামো এবং ডিভাইসগুলিতে পরিবর্তনগুলি শুনতে নেস্ট এপিআই ব্যবহার করুন, যাতে আপনি বাড়ির মালিকরা দূরে থাকাকালীন শক্তি সংরক্ষণের পদক্ষেপ নিতে পারেন, তাদেরকে অবহিত করুন যে কিছু ভুল আছে (উদাহরণস্বরূপ, গ্যারেজের দরজা খোলা আছে), বা বৈশিষ্ট্যগুলি সক্রিয় করার জন্য হোম আরো আরামদায়ক এবং স্বাগত জানাই।

এই গাইডে নীড় ডিভাইস এবং কাঠামোগুলি থেকে ডেটা কীভাবে পড়তে হবে তা দেখায়। কীভাবে রাইটিং কল করবেন তা শিখতে, API লিখুন উদাহরণগুলি দেখুন

পূর্বশর্ত

API কল করার আগে, OAuth 2.0 এর সাথে প্রমাণীকরণে বর্ণিত হিসাবে একটি অ্যাক্সেস টোকেন পান।

প্রায় REST কল কল

REST কলগুলির জন্য, ডেটা পড়তে জিইটি ব্যবহার করুন।

নীচে ব্যবহারের ক্ষেত্রে যেমন রিস্ট রিড কলগুলি সীমিত পরিস্থিতিগুলি কার্যকর are

  • অ্যাড-হক এক-অফ কল
  • প্রুফ অফ কনসেপ্ট ল্যাব
  • সমস্যা সমাধান
  • অ্যাপ্লিকেশনগুলি যা প্রতি মিনিটে প্রায় পোল করে
  • রিফ্রেশ বোতাম বাস্তবায়ন

অবিরত রিয়েল-টাইম বা স্ট্রিমিং দৃশ্যের জন্য REST রিড কলগুলি কার্যকর নয়।

বহনকারী প্রমাণীকরণ

আমরা OAuth স্ট্যান্ডার্ডের সাথে সম্মতি দেওয়ার প্রস্তাব দিই, যা অ্যাক্সেস টোকন প্রেরণ করতে "Bearer" প্রমাণীকরণ ব্যবহার করে বাড়তি সুরক্ষা সরবরাহ করে। URL- এ ক্লায়েন্ট শংসাপত্র সহ কলগুলি সুপারিশ করা হয় না।

"Content-Type" শিরোনাম সার্ভারকে JSON ব্যবহারের নির্দেশ দেয়।

"Authorization" শিরোনাম এপিআই অ্যাক্সেস সরবরাহ করে।

উদাহরণ

নিম্নলিখিত উদাহরণগুলিতে আপনার নির্দিষ্ট অ্যাক্সেস টোকেন, যেমন "c.twC2q ..." দিয়ে YOUR_TOKEN_HERE প্রতিস্থাপন করুন।

স্ট্রাকচার এবং ডিভাইসগুলি পড়ুন

সমস্ত কাঠামো এবং ডিভাইস ডেটা (বেস স্তর) পড়তে, মূল-স্তরের URL ব্যবহার করুন। আরও দানাদার প্রতিক্রিয়াগুলির জন্য, URL হিসাবে প্রয়োজন হিসাবে সংশোধন করুন।

কার্ল
curl -v --location-trusted \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN_HERE" \
  -X GET "https://developer-api.nest.com/"
কার্ল মাল্টিপ্লেক্স
curl -v --location-trusted \
  -H "Accept: text/event-stream" \
  -H "Authorization: Bearer LIST_OF_ACCESS_TOKENS" \
  -X GET "https://developer-api.nest.com/multiplex"
যাওয়া
package main

import (
    "errors"
    "fmt"
    "io/ioutil"
    "net/http"
)

const token = "YOUR_TOKEN_HERE" // Update with your token

func main() {
    url := "https://developer-api.nest.com/"
    req, _ := http.NewRequest(http.MethodGet, url, nil)

    req.Header.Add(
        "Authorization",
        fmt.Sprintf("Bearer %s", token),
    )

    customClient := http.Client {
        CheckRedirect: func(redirRequest *http.Request, via []*http.Request) error {
            // Go's http.DefaultClient does not forward headers when a redirect 3xx
            // response is received. Thus, the header (which in this case contains the
            // Authorization token) needs to be passed forward to the redirect
            // destinations.
            redirRequest.Header = req.Header

            // Go's http.DefaultClient allows 10 redirects before returning an
            // an error. We have mimicked this default behavior.
            if len(via) >= 10 {
                return errors.New("stopped after 10 redirects")
            }
            return nil
        },
    }

    response, _ := customClient.Do(req)

    if response.StatusCode != 200 {
        panic(fmt.Sprintf(
            "Expected a 200 status code; got a %d",
            response.StatusCode,
        ))
    }

    defer response.Body.Close()
    body, _ := ioutil.ReadAll(response.Body)
    fmt.Println(string(body))

}
নোড.জেএস
"use strict"

var request = require('request');

var token = "YOUR_TOKEN_HERE"; // Update with your token

var url = "https://developer-api.nest.com";

var options = {
    "method": "GET",
    "path": "/",
    "headers": {
       "Authorization": "Bearer " + token
    },
    "followRedirect": true
};

var req = request(url, options, function(err, resp, data) {
    console.log('response code: ' + resp.statusCode);
    if (err) {
        console.log('Error: ' + err.message);
    }
    console.log("data: " + data);
});

req.end();

নোড.জেএস কোড উদাহরণটি ব্যবহার করার জন্য, অনুরোধ মডিউলটি ইনস্টল করুন ( https://www.npmjs.com/package/request )।

npm install request
পাইথন 2
import hashlib
import json
import os
import requests

url = "https://developer-api.nest.com/"

token = "YOUR_TOKEN_HERE" # Update with your token

headers = {'Authorization': 'Bearer {0}'.format(token), 'Content-Type': 'application/json'}

response = requests.get(url, headers=headers, allow_redirects=False)
if response.status_code == 307:
    response = requests.get(response.headers['Location'], headers=headers, allow_redirects=False)

print(response.text)
পাইথন ঘ
import http.client
from urllib.parse import urlparse

token = "YOUR_TOKEN_HERE" # Update with your token

conn = http.client.HTTPSConnection("developer-api.nest.com")
headers = {'authorization': "Bearer {0}".format(token)}
conn.request("GET", "/", headers=headers)
response = conn.getresponse()

if response.status == 307:
    redirectLocation = urlparse(response.getheader("location"))
    conn = http.client.HTTPSConnection(redirectLocation.netloc)
    conn.request("GET", "/", headers=headers)
    response = conn.getresponse()
    if response.status != 200:
        raise Exception("Redirect with non 200 response")

data = response.read()
print(data.decode("utf-8"))
জাভা
import java.io.IOException;
import okhttp3.Headers;
import okhttp3.OkHttpClient;
import okhttp3.OkHttpClient.Builder;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.Authenticator;
import okhttp3.Route;

public class ReadNest {

    public static void main(String[] args) throws IOException {
        String auth = "Bearer YOUR_TOKEN_HERE"; // Update with your token

        OkHttpClient client = new OkHttpClient.Builder()
        .authenticator(new Authenticator() {
          @Override public Request authenticate(Route route, Response response) throws IOException {
            return response.request().newBuilder()
                .header("Authorization", auth)
                .build();
          }
        })
        .followRedirects(true)
        .followSslRedirects(true)
        .build();

        Request request = new Request.Builder()
        .url("https://developer-api.nest.com")
        .get()
        .addHeader("content-type", "application/json; charset=UTF-8")
        .addHeader("authorization", auth)
        .build();

        try {
            System.out.println("Begin request:  ");
            Response response = client.newCall(request).execute();
            System.out.println(response.body().string());
            System.out.println("End request");
            System.out.println();
            Thread.sleep(2 * 1000);
        } catch (InterruptedException e) {
                e.printStackTrace();
        }
   }
}

জাভা কোড উদাহরণ ব্যবহার করতে:

১. http://square.github.io/okhttp/ এ সর্বশেষতম ওখট্টপ এবং ওকিও জার ফাইলগুলি ডাউনলোড করুন। অতিরিক্তভাবে, যদি আপনার ওখটিপিটির সংস্করণ নির্ভর করে তবে https://mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-stdlib এ কোটলিন stdlib ফাইলটি ডাউনলোড করুন।

আপনার কোডটি তৈরি করুন।

3. নিম্নলিখিত ক্লাস-পাথ সেটিংস সহ প্রোগ্রামটি সংকলন এবং চালনা করুন।

নীচে জাভাক এবং জাভা কমান্ডগুলিতে আপনার গ্রন্থাগার সংস্করণ নম্বরগুলি প্রতিস্থাপন করুন:
javac -cp .:okhttp-<ver>.jar:okio-<ver>.jar ReadNest.java
java -cp .:okhttp-<ver>.jar:okio-<ver>.jar:kotlin-stdlib-<ver>.jar ReadNest

উদাহরণস্বরূপ, যদি আপনার নিম্নলিখিত সংস্করণগুলি হয় 3.11.0, 2.1.0 এবং 1.3.0, আপনার কমান্ডগুলি দেখতে এই রকম হবে:
javac -cp .:okhttp-3.11.0.jar:okio-2.1.0.jar ReadNest.java
java -cp .:okhttp-3.11.0.jar:okio-2.1.0.jar:kotlin-stdlib-1.3.0.jar ReadNest

এপিআই পরীক্ষার জন্য পোস্টম্যান ব্যবহার করা

উপরের কার্ল কলটি সহজে পোস্টম্যানে প্রতিলিপি করা যায়।

PUT শিরোনাম লিখতে

আরও উন্নয়নের জন্য একটি প্রাথমিক পয়েন্ট হিসাবে কলকে বিভিন্ন ভাষায় অনুবাদ করার জন্য পোস্টম্যানের কোড লিঙ্কটি ব্যবহার করুন।