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 কলগুলি করতে অ্যাক্সেস টোকেন ব্যবহার করতে পারেন।

আপনি শুরু করার আগে, OAuth 2.0 দিয়ে প্রমাণীকরণ দেখুন।

আপনার OAuth ক্লায়েন্টের ওভারভিউ ট্যাবে:

  • ক্লায়েন্ট আইডি হ'ল আপনার সিএমআইআইআইডি
  • ক্লায়েন্ট সিক্রেট হ'ল আপনার CLIENT_SECRET

প্রতিটি পোস্টের কল করার আগে একটি নতুন অনুমোদনের কোড পান:

  1. আপনার অনুমোদনের URL টি অনুলিপি করুন এবং পুনরায় লোড করুন
  2. [এসিসিপিটি] ক্লিক করুন এবং নতুন অনুমোদনের কোডটি অনুলিপি করুন
  3. নতুন অনুমোদনের কোডটি মেলে POST এর code প্যারামিটারের মান পরিবর্তন করুন
OAuth বিশদ

কোড নমুনায়, AUTH_CODE , CLIENT_ID , এবং CLIENT_SECRET প্রতিস্থাপন করতে ভুলবেন না।

টোকেন অনুরোধ উদাহরণ অ্যাক্সেস

অ্যাক্সেস টোকেন পেতে এই উদাহরণগুলি ব্যবহার করুন।

কার্ল
curl -X POST \
  -d "code=AUTH_CODE&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&grant_type=authorization_code" \
  "https://api.home.nest.com/oauth2/access_token"
পাইথন 2
import requests

url = "https://api.home.nest.com/oauth2/access_token"

payload = "code=AUTH_CODE&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&grant_type=authorization_code"

headers = {'content-type': 'application/x-www-form-urlencoded'}

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)
পাইথন ঘ
import http.client

conn = http.client.HTTPSConnection("api.home.nest.com")

payload = "code=AUTH_CODE&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&grant_type=authorization_code"

headers = { 'content-type': "application/x-www-form-urlencoded" }

conn.request("POST", "/oauth2/access_token", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
নোড.জেএস
var qs = require("querystring");
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.home.nest.com",
  "port": null,
  "path": "/oauth2/access_token",
  "headers": {
    "content-type": "application/x-www-form-urlencoded"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(qs.stringify({
  code: 'AUTH_CODE',
  client_id: 'CLIENT_ID',
  client_secret: 'CLIENT_SECRET',
  grant_type: 'authorization_code'
}));

req.end();
যাওয়া
package main

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

func main() {

    url := "https://api.home.nest.com/oauth2/access_token"

    payload := strings.NewReader("code=AUTH_CODE&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&grant_type=authorization_code")

    req, _ := http.NewRequest("POST", url, payload)

    req.Header.Add("content-type", "application/x-www-form-urlencoded")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))
}
জাভা
import java.io.IOException;
import okhttp3.OkHttpClient;
import okhttp3.FormBody;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.MediaType;
import okhttp3.Response;

public class Sample {

    public static void main(String[] args) throws IOException {
        OkHttpClient client = new OkHttpClient();

        MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
        RequestBody body =
               RequestBody.create(mediaType, "code=AUTH_CODE&client_id=
               CLIENT_ID&client_secret=CLIENT_SECRET
               &grant_type=authorization_code");
        Request request = new Request.Builder()
          .url("https://api.home.nest.com/oauth2/access_token")
          .post(body)
          .build();

        Response response = client.newCall(request).execute();
        System.out.println(response.body().string());
    }

}

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

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

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

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

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

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

টোকেন প্রতিক্রিয়া অ্যাক্সেস

প্রতিটি নমুনার জন্য, প্রতিক্রিয়াটিতে অ্যাক্সেস টোকেন অন্তর্ভুক্ত রয়েছে।

  "access_token": "c.twC2q...",
  "expires_in": 315360000