রিকোয়েস্ট সিঙ্ক আপনার পূরণের জন্য যেকোনো Google ব্যবহারকারীর জন্য একটি SYNC অনুরোধ ট্রিগার করে, যাদের ডিভাইসের সাথে নির্দিষ্ট agentUserId যুক্ত থাকে (যা আপনি মূল SYNC অনুরোধে পাঠিয়েছিলেন)। এটি আপনাকে ব্যবহারকারীদের ডিভাইসগুলিকে তাদের অ্যাকাউন্ট আনলিঙ্ক এবং পুনঃলিঙ্ক না করে আপডেট করতে দেয়। এই শনাক্তকারীর সাথে লিঙ্ক করা সমস্ত ব্যবহারকারী একটি SYNC অনুরোধ পাবেন।
 আপনাকে একটি SYNC অনুরোধ ট্রিগার করতে হবে:
- যদি ব্যবহারকারী একটি নতুন ডিভাইস যোগ করে।
- যদি ব্যবহারকারী একটি বিদ্যমান ডিভাইস সরিয়ে ফেলে।
- যদি ব্যবহারকারী একটি বিদ্যমান ডিভাইসের নাম পরিবর্তন করে।
- যদি আপনি একটি নতুন ডিভাইসের ধরণ, বৈশিষ্ট্য বাস্তবায়ন করেন, অথবা একটি নতুন ডিভাইস বৈশিষ্ট্য যোগ করেন।
শুরু করুন
রিকোয়েস্ট সিঙ্ক বাস্তবায়ন করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
গুগল হোমগ্রাফ এপিআই সক্ষম করুন
- Google Cloud Console , হোমগ্রাফ এপিআই পৃষ্ঠায় যান। হোমগ্রাফ এপিআই পৃষ্ঠায় যান।
- আপনার smart home প্রজেক্ট আইডির সাথে মেলে এমন প্রজেক্টটি নির্বাচন করুন।
- সক্রিয় করুন ক্লিক করুন।
একটি পরিষেবা অ্যাকাউন্ট কী তৈরি করুন
Google Cloud Console থেকে একটি পরিষেবা অ্যাকাউন্ট কী তৈরি করতে এই নির্দেশাবলী অনুসরণ করুন:
- Google Cloud Console , পরিষেবা অ্যাকাউন্ট পৃষ্ঠায় যান। পরিষেবা অ্যাকাউন্ট পৃষ্ঠায় যান ।- পরিষেবা অ্যাকাউন্ট পৃষ্ঠায় যাওয়ার আগে আপনাকে একটি প্রকল্প নির্বাচন করতে হতে পারে। 
- পরিষেবা অ্যাকাউন্ট তৈরি করুন ক্লিক করুন। 
- পরিষেবা অ্যাকাউন্টের নাম ক্ষেত্রে, একটি নাম লিখুন। 
- পরিষেবা অ্যাকাউন্ট আইডি ক্ষেত্রে, একটি আইডি লিখুন। 
- পরিষেবা অ্যাকাউন্টের বিবরণ ক্ষেত্রে, একটি বিবরণ লিখুন। 
- তৈরি করুন এবং চালিয়ে যান ক্লিক করুন। 
- Role ড্রপডাউন থেকে, Service Accounts > Service Account OpenID Connect Identity Token Creator নির্বাচন করুন। 
- চালিয়ে যান ক্লিক করুন। 
- সম্পন্ন ক্লিক করুন। 
- পরিষেবা অ্যাকাউন্টের তালিকা থেকে আপনার তৈরি করা পরিষেবা অ্যাকাউন্টটি নির্বাচন করুন এবং অ্যাকশন মেনু থেকে Manage keys নির্বাচন করুন। 
- কী যোগ করুন > নতুন কী তৈরি করুন নির্বাচন করুন। 
- কী টাইপের জন্য, JSON বিকল্পটি নির্বাচন করুন। 
- তৈরি করুন এ ক্লিক করুন। একটি JSON ফাইল যাতে আপনার কম্পিউটারে ডাউনলোড করা কীগুলি থাকে। 
API-তে কল করুন
HTTP সম্পর্কে
হোম গ্রাফ API একটি HTTP এন্ডপয়েন্ট প্রদান করে
- ডাউনলোড করা পরিষেবা অ্যাকাউন্ট JSON ফাইলটি ব্যবহার করে একটি JSON ওয়েব টোকেন (JWT) তৈরি করুন। আরও তথ্যের জন্য, পরিষেবা অ্যাকাউন্ট ব্যবহার করে প্রমাণীকরণ দেখুন।
-  oauth2l ব্যবহার করে https://www.googleapis.com/auth/homegraphস্কোপের সাহায্যে একটি OAuth 2.0 অ্যাক্সেস টোকেন পান:
- agentUserIdব্যবহার করে JSON অনুরোধ তৈরি করুন। এখানে অনুরোধ সিঙ্কের জন্য একটি নমুনা JSON অনুরোধ দেওয়া হল:
- আপনার HTTP POST অনুরোধের মধ্যে থাকা টোকেন এবং রিকোয়েস্ট সিঙ্ক JSON কে Google Home Graph এন্ডপয়েন্টে একত্রিত করুন। পরীক্ষা হিসেবে curlব্যবহার করে কমান্ড লাইনে কীভাবে রিকোয়েস্টটি করবেন তার একটি উদাহরণ এখানে দেওয়া হল:
oauth2l fetch --credentials service-account.json \ --scope https://www.googleapis.com/auth/homegraph
{ "agentUserId": "user-123" }
curl -X POST -H "Authorization: Bearer ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d @request-body.json \ "https://homegraph.googleapis.com/v1/devices:requestSync"
জিআরপিসি
হোম গ্রাফ এপিআই একটি জিআরপিসি এন্ডপয়েন্ট প্রদান করে
- হোম গ্রাফ API-এর জন্য প্রোটোকল বাফার পরিষেবার সংজ্ঞা পান।
- সমর্থিত ভাষার জন্য ক্লায়েন্ট স্টাব তৈরি করতে gRPC ডেভেলপার ডকুমেন্টেশন অনুসরণ করুন।
- RequestSync পদ্ধতিতে কল করুন।
নোড.জেএস
গুগল এপিআই নোড.জেএস ক্লায়েন্ট হোম গ্রাফ এপিআই-এর জন্য বাইন্ডিং প্রদান করে।
-  অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র ব্যবহার করে google.homegraphপরিষেবাটি শুরু করুন।
-  RequestSyncDevicesRequest ব্যবহার করে requestSyncপদ্ধতিতে কল করুন। এটি একটি খালি RequestSyncDevicesResponse সহ একটিPromiseফেরত দেয়।
const homegraphClient = homegraph({ version: 'v1', auth: new GoogleAuth({ scopes: 'https://www.googleapis.com/auth/homegraph' }) }); const res = await homegraphClient.devices.requestSync({ requestBody: { agentUserId: 'PLACEHOLDER-USER-ID', async: false } });
জাভা
জাভার জন্য হোমগ্রাফ এপিআই ক্লায়েন্ট লাইব্রেরি হোম গ্রাফ এপিআই-এর জন্য বাইন্ডিং প্রদান করে।
-  অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র ব্যবহার করে HomeGraphApiServiceআরম্ভ করুন।
-  RequestSyncDevicesRequestব্যবহার করেrequestSyncপদ্ধতিতে কল করুন। এটি একটি খালিReportStateAndNotificationResponseপ্রদান করে।
// Get Application Default credentials. GoogleCredentials credentials = GoogleCredentials.getApplicationDefault() .createScoped(List.of("https://www.googleapis.com/auth/homegraph")); // Create Home Graph service client. HomeGraphService homegraphService = new HomeGraphService.Builder( GoogleNetHttpTransport.newTrustedTransport(), GsonFactory.getDefaultInstance(), new HttpCredentialsAdapter(credentials)) .setApplicationName("HomeGraphExample/1.0") .build(); // Request sync. RequestSyncDevicesRequest request = new RequestSyncDevicesRequest().setAgentUserId("PLACEHOLDER-USER-ID").setAsync(false); homegraphService.devices().requestSync(request);
ত্রুটির প্রতিক্রিয়া
রিকোয়েস্ট সিঙ্ক কল করার সময় আপনি নিম্নলিখিত ত্রুটির প্রতিক্রিয়াগুলির মধ্যে একটি পেতে পারেন। এই প্রতিক্রিয়াগুলি HTTP স্ট্যাটাস কোড আকারে আসে।
-  400 Bad Request- ভুল সিনট্যাক্সের কারণে সার্ভার ক্লায়েন্টের পাঠানো অনুরোধটি প্রক্রিয়া করতে পারেনি। সাধারণ কারণগুলির মধ্যে রয়েছে ত্রুটিপূর্ণ JSON অথবা স্ট্রিং মানের জন্য "" এর পরিবর্তেnullব্যবহার করা।
-  403 Forbidden- টোকেন রিফ্রেশ করার সময় একটি ত্রুটির কারণে সার্ভারটি প্রদত্তagentUserIdঅনুরোধটি প্রক্রিয়া করতে পারেনি। নিশ্চিত করুন যে আপনার OAuth এন্ডপয়েন্ট টোকেন অনুরোধগুলি রিফ্রেশ করার জন্য সঠিকভাবে সাড়া দিচ্ছে এবং ব্যবহারকারীর অ্যাকাউন্ট লিঙ্কিং স্ট্যাটাস পরীক্ষা করে দেখুন।
-  404 Not Found- অনুরোধ করা রিসোর্সটি খুঁজে পাওয়া যায়নি তবে ভবিষ্যতে পাওয়া যেতে পারে। সাধারণত, এর অর্থ হল ব্যবহারকারীর অ্যাকাউন্টটি Google এর সাথে লিঙ্ক করা নেই অথবা আমরা একটি অবৈধagentUserIdপেয়েছি। নিশ্চিত করুন যেagentUserIdআপনার SYNC প্রতিক্রিয়াতে প্রদত্ত মানের সাথে মেলে এবং আপনি DISCONNECT ইন্টেন্টগুলি সঠিকভাবে পরিচালনা করছেন।
-  429 Too Many Requests- প্রদত্তagentUserIdএর জন্য সমকালীন সিঙ্ক অনুরোধের সর্বাধিক সংখ্যা অতিক্রম করা হয়েছে।asyncপতাকাটি সত্য হিসাবে সেট না করা হলে একজন কলার কেবল একটি সমকালীন সিঙ্ক অনুরোধ জারি করতে পারেন।