Google is committed to advancing racial equity for Black communities. See how.

অনুমোদনের জন্য নমুনা কোড

অ্যাক্সেস টোকেন পেতে এই পৃষ্ঠায় কোড নমুনা ব্যবহার করুন। তারপরে আপনি স্ট্রাকচার এবং ডিভাইসগুলিতে পড়তে এবং লিখতে API কলগুলি করতে অ্যাক্সেস টোকেন ব্যবহার করতে পারেন।

শুরু করার আগে, দেখুন OAuth এর 2.0 প্রমাণীকরণ করতে

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

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

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

  1. আপনার অনুমোদন URL টি অনুলিপি করুন এবং পুনরায় লোড করুন
  2. [এসিসিপিটি] ক্লিক করুন এবং নতুন অনুমোদনের কোডটি অনুলিপি করুন
  3. পোস্ট এর মান পরিবর্তন 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());
    }

}

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

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

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

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

: নীচের javac এবং জাভা আদেশগুলিতে আপনার লাইব্রেরি সংস্করণ সংখ্যা সাবস্টিটিউট
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