درخواست همگامسازی، یک درخواست همگامسازی SYNC را برای هر کاربر گوگل که دستگاههایی با agentUserId مشخصشده مرتبط با خود (که شما در درخواست SYNC اصلی ارسال کردهاید) دارد، فعال میکند. این به شما امکان میدهد دستگاههای کاربران را بدون قطع و وصل مجدد حسابشان بهروزرسانی کنید. همه کاربرانی که به این شناسه متصل هستند، یک درخواست SYNC دریافت خواهند کرد.
 شما باید یک درخواست SYNC ایجاد کنید:
- اگر کاربر دستگاه جدیدی اضافه کند.
 - اگر کاربر دستگاه موجود را حذف کند.
 - اگر کاربر نام یک دستگاه موجود را تغییر دهد.
 - اگر نوع یا ویژگی جدیدی از دستگاه را پیادهسازی میکنید یا ویژگی جدیدی به دستگاه اضافه میکنید.
 
شروع کنید
برای پیادهسازی همگامسازی درخواست، مراحل زیر را دنبال کنید:
فعال کردن API گوگل هومگراف
در Google Cloud Console ، به صفحه HomeGraph API بروید.
به صفحه HomeGraph API بروید- پروژهای را انتخاب کنید که با شناسه پروژه smart home شما مطابقت داشته باشد.
 - روی فعال کردن (ENABLE) کلیک کنید.
 
ایجاد کلید حساب سرویس
برای تولید کلید حساب سرویس از Google Cloud Console این دستورالعملها را دنبال کنید:
در Google Cloud Console ، به صفحه حسابهای سرویس بروید.
به صفحه حسابهای سرویس بروید .ممکن است لازم باشد قبل از اینکه به صفحه حسابهای سرویس هدایت شوید، یک پروژه را انتخاب کنید.
روی کلیک کنید. ایجاد حساب کاربری سرویس .
در قسمت نام حساب سرویس ، یک نام وارد کنید.
در قسمت شناسه حساب سرویس ، یک شناسه وارد کنید.
در قسمت توضیحات حساب سرویس ، توضیحی وارد کنید.
روی ایجاد کلیک کنید و ادامه دهید .
از منوی کشویی نقش ، حسابهای سرویس > حساب سرویس OpenID Connect Identity Token Creator را انتخاب کنید.
روی ادامه کلیک کنید.
روی انجام شد کلیک کنید.
حساب سرویسی که ایجاد کردهاید را از فهرست حسابهای سرویس انتخاب کنید و از منوی Actions گزینه Manage keys را انتخاب کنید.
افزودن کلید > ایجاد کلید جدید را انتخاب کنید.
برای نوع کلید ، گزینه JSON را انتخاب کنید.
روی «ایجاد» کلیک کنید. یک فایل JSON که حاوی کلیدهای دانلود شده روی رایانه شماست.
فراخوانی API
اچتیپی
رابط برنامهنویسی کاربردی Home Graph یک نقطه پایانی HTTP ارائه میدهد.
- از فایل JSON حساب سرویس دانلود شده برای ایجاد یک JSON Web Token (JWT) استفاده کنید. برای اطلاعات بیشتر، به بخش احراز هویت با استفاده از حساب سرویس مراجعه کنید.
 -  با استفاده از oauth2l، یک توکن دسترسی OAuth 2.0 با دامنه 
https://www.googleapis.com/auth/homegraphدریافت کنید: - درخواست JSON را با 
agentUserIdایجاد کنید. در اینجا یک نمونه درخواست JSON برای Request Sync آورده شده است: - درخواست همگامسازی JSON و توکن موجود در درخواست HTTP POST خود را به نقطه پایانی 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"
gRPC
رابط برنامهنویسی کاربردی Home Graph یک نقطه پایانی gRPC ارائه میدهد.
- تعریف سرویس بافرهای پروتکل را برای رابط برنامهنویسی کاربردی Home Graph دریافت کنید.
 - برای تولید استابهای کلاینت برای یکی از زبانهای پشتیبانیشده، مستندات توسعهدهندهی gRPC را دنبال کنید.
 - متد RequestSync را فراخوانی کنید.
 
نود جی اس
کلاینت Node.js مربوط به APIهای گوگل، اتصالاتی را برای Home Graph API فراهم میکند.
-  سرویس 
google.homegraphرا با استفاده از Application Default Credentials راهاندازی کنید. -  متد 
requestSyncرا با RequestSyncDevicesRequest فراخوانی کنید. این متد یکPromiseبا RequestSyncDevicesResponse خالی برمیگرداند. 
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 } });
جاوا
کتابخانه کلاینت HomeGraph API برای جاوا، اتصالاتی را برای Home Graph API فراهم میکند.
-  
HomeGraphApiServiceرا با استفاده از Application Default Credentials مقداردهی اولیه کنید. -  متد 
requestSyncرا باRequestSyncDevicesRequestفراخوانی کنید. این متد یک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- منبع درخواستی یافت نشد اما ممکن است در آینده در دسترس باشد. معمولاً این بدان معناست که حساب کاربری به گوگل متصل نیست یا ما یکagentUserIdنامعتبر دریافت کردهایم. اطمینان حاصل کنید کهagentUserIdبا مقدار ارائه شده در پاسخ SYNC شما مطابقت دارد و شما به درستی اهداف DISCONNECT را مدیریت میکنید. -  
429 Too Many Requests- حداکثر تعداد درخواستهای همگامسازی همزمان برایagentUserIdداده شده، از حد مجاز فراتر رفته است. یک تماسگیرنده فقط میتواند یک درخواست همگامسازی همزمان صادر کند، مگر اینکه پرچمasyncروی true تنظیم شده باشد.