API Actions

Action API نقاط پایانی را برای کمک به ساخت، مدیریت و آزمایش Action شما ارائه می‌کند.

کتابخانه مشتری (Node.js)

در حالی که می‌توانید با درخواست مستقیم HTTP به سرور از سرویس Action API RESTful استفاده کنید، ما یک کتابخانه مشتری ارائه می‌کنیم که دسترسی به نقاط پایانی Node.js را آسان‌تر می‌کند. کتابخانه سرویس گیرنده Actions API به شما امکان می دهد Action خود را با استفاده از نقاط پایانی مختلف مدیریت و آزمایش کنید.

به عنوان مثال، کد زیر با نقطه پایانی writePreview تماس می گیرد تا پیش نمایش پروژه کاربر را بر اساس مدل ارائه شده به روز کند:

   import {ActionsSdkClient} from '@assistant/actions';
   import { promisify } from 'util';
   import * as stream from 'stream';

   const PROJECT_ID = '<PROJECT_ID>';
   const VERSION = 123;

   const projectPath = `projects/${PROJECT_ID}`;
   const versionPath = `projects/${PROJECT_ID}/versions/${VERSION}`;

    async function publishPreview(projectPath, versionPath) {
      const request = {
        parent: projectPath,
        previewSettings: {sandbox: {value: true}},
        submittedVersion: {version: versionPath}
      };

      const client = new ActionsSdkClient();
      const stream = client.writePreview(()=>{});
      stream.write(request);
      stream.end();
      const finished = promisify(stream.finished);
      await finished(stream);
    }

برای دستورالعمل‌های نصب و مواد مرجع برای کتابخانه سرویس گیرنده Actions API Node.js، به کتابخانه و مستندات مرجع Actions API REST مراجعه کنید.

الزامات

الزامات زیر در مورد درخواست‌های ارائه شده به API Action اعمال می‌شود.

درخواست اندازه محموله

درخواست‌های ارسال شده به Action API باید 10 مگابایت یا کمتر باشد. این شامل نقاط پایانی جریان مشتری است که هر درخواست در جریان باید 10 مگابایت یا کمتر باشد.

اگر حجم شما بیش از 10 مگابایت باشد، باید یک خطای 400 از سرور Actions SDK دریافت کنید.

بهترین شیوه ها

هنگام استفاده از Actions API، بهترین روش های زیر به شدت توصیه می شود.

هدر درخواست x-goog-user-project را تنظیم کنید

هنگام ساخت یک ابزار یا برنامه برای کاربران خود، ممکن است بخواهید که پروژه کاربر به جای پروژه مشتری، صورتحساب و برای محدودیت های سهمیه استفاده شود. برای تعیین یک پروژه برای مقاصد صورتحساب و سهمیه، سربرگ درخواست x-goog-user-project را تنظیم کنید.

ارزش های معتبر شناسه پروژه برای یک پروژه Google Cloud موجود
مثال x-goog-user-project: my-project
جزئیات پروژه مشخص شده در هدر برای محدودیت های سهمیه استفاده می شود و برای هزینه های مربوط به درخواست صورتحساب می شود.

هدر درخواست عامل کاربر را تنظیم کنید

با استفاده از هدر درخواست user-agent یک عامل کاربری مناسب تنظیم کنید. این به API کمک می‌کند تا تعیین کند آیا درخواست‌ها از شرکا نشات می‌گیرند یا خیر.

محدودیت های شناخته شده

این بخش محدودیت های شناخته شده Action API را شرح می دهد.

مهلت زمانی برای نقاط پایانی جریان مشتری

این محدودیت فقط برای درخواست‌های HTTP اعمال می‌شود که شما برای نقاط پایانی جریان مشتری انجام می‌دهید. درخواست‌هایی که با استفاده از کتابخانه مشتری انجام می‌شوند تحت تأثیر این محدودیت قرار نمی‌گیرند.

اگر از درخواست‌های HTTP برای فراخوانی WritePreview ، CreateVersion ، یا WriteDraft استفاده می‌کنید، توصیه می‌کنیم برای رسیدگی به درخواست‌هایی که موفقیت‌آمیز نیستند، یک بازه زمانی اجرا کنید.

اگر سرصفحه پاسخی دریافت کردید که کد وضعیتی غیر از 200 را مشخص می‌کند، کد شما باید پس از مدت زمان مشخصی جریان را خاتمه دهد. این مشکل فقط بر نقاط پایانی جریان مشتری تأثیر می گذارد. به عنوان مثال، ابزار gactions که از API Action استفاده می کند، 5 ثانیه تایم اوت دارد.