Method: scripts.run

একটি অ্যাপস স্ক্রিপ্ট প্রজেক্টে একটি ফাংশন চালায়। স্ক্রিপ্ট প্রজেক্টটি অ্যাপস স্ক্রিপ্ট এপিআই-এর সাথে ব্যবহারের জন্য স্থাপন করতে হবে এবং কলিং অ্যাপ্লিকেশনটিকে একই ক্লাউড প্ল্যাটফর্ম প্রজেক্ট শেয়ার করতে হবে।

এই পদ্ধতিতে OAuth 2.0 টোকেন ব্যবহার করে অনুমোদন প্রয়োজন যাতে অনুমোদন বিভাগে তালিকাভুক্ত কমপক্ষে একটি স্কোপ অন্তর্ভুক্ত থাকে; যেসব স্ক্রিপ্ট প্রকল্পের অনুমোদন প্রয়োজন হয় না সেগুলি এই API এর মাধ্যমে কার্যকর করা যাবে না। প্রমাণীকরণ টোকেনে অন্তর্ভুক্ত করার জন্য সঠিক স্কোপগুলি খুঁজে পেতে, স্ক্রিপ্ট প্রকল্পের ওভারভিউ পৃষ্ঠাটি খুলুন এবং "প্রজেক্ট OAuth স্কোপ" এ স্ক্রোল করুন।

ত্রুটি 403, PERMISSION_DENIED: The caller does not have permission ইঙ্গিত করে যে অনুরোধটি অনুমোদন করার জন্য ব্যবহৃত ক্লাউড প্ল্যাটফর্ম প্রকল্পটি স্ক্রিপ্টে ব্যবহৃত প্রকল্পের মতো নয়।

HTTP অনুরোধ

POST https://script.googleapis.com/v1/scripts/{deploymentId}:run

URL টি gRPC ট্রান্সকোডিং সিনট্যাক্স ব্যবহার করে।

পথের পরামিতি

পরামিতি
deploymentId

string

API এক্সিকিউটেবল ডিপ্লয়মেন্টের জন্য ডিপ্লয়মেন্ট আইডি। স্ক্রিপ্ট এডিটরে ডিপ্লয় > ডিপ্লয়মেন্ট পরিচালনা করুন এর অধীনে ডিপ্লয়মেন্ট আইডি খুঁজুন

অনুরোধের মূল অংশ

অনুরোধের মূল অংশে নিম্নলিখিত কাঠামো সহ ডেটা রয়েছে:

JSON উপস্থাপনা
{
  "function": string,
  "parameters": [
    value
  ],
  "sessionState": string,
  "devMode": boolean
}
ক্ষেত্র
function

string

প্রদত্ত স্ক্রিপ্টে যে ফাংশনটি চালানো হবে তার নাম। নামটিতে বন্ধনী বা প্যারামিটার অন্তর্ভুক্ত নেই। এটি Library.libFunction1 এর মতো অন্তর্ভুক্ত লাইব্রেরিতে একটি ফাংশন উল্লেখ করতে পারে।

parameters[]

value ( Value format)

যে ফাংশনটি এক্সিকিউট করা হচ্ছে তাতে যেসব প্যারামিটার পাস করতে হবে। প্রতিটি প্যারামিটারের অবজেক্ট টাইপ অ্যাপস স্ক্রিপ্টে প্রত্যাশিত টাইপের সাথে মিলতে হবে। প্যারামিটারগুলি অ্যাপস স্ক্রিপ্ট-নির্দিষ্ট অবজেক্ট টাইপ (যেমন Document বা Calendar ) হতে পারে না; এগুলি কেবল string , number , array , object বা boolean মতো আদিম টাইপ হতে পারে। ঐচ্ছিক।

sessionState

string

অবহেলিত । শুধুমাত্র Android অ্যাড-অনগুলির সাথে ব্যবহারের জন্য। একটি আইডি যা Google Docs বা Sheets-এর জন্য Android অ্যাপে ব্যবহারকারীর বর্তমান সেশনের প্রতিনিধিত্ব করে, যা Intent- এ অতিরিক্ত ডেটা হিসেবে অন্তর্ভুক্ত থাকে যা অ্যাড-অনটি চালু করে। যখন একটি Android অ্যাড-অন একটি সেশন স্টেট সহ চালানো হয়, তখন এটি একটি বাউন্ড স্ক্রিপ্টের সুবিধা লাভ করে—অর্থাৎ, এটি ব্যবহারকারীর বর্তমান কার্সার অবস্থান (ডক্সে) বা নির্বাচিত কোষ (শীটগুলিতে) এর মতো তথ্য অ্যাক্সেস করতে পারে। অবস্থা পুনরুদ্ধার করতে, Intent.getStringExtra("com.google.android.apps.docs.addons.SessionState") কল করুন। ঐচ্ছিক।

devMode

boolean

যদি true এবং ব্যবহারকারী স্ক্রিপ্টের মালিক হন, তাহলে স্ক্রিপ্টটি অ্যাপস স্ক্রিপ্ট API-এর সাথে ব্যবহারের জন্য স্থাপন করা সংস্করণের পরিবর্তে সাম্প্রতিকতম সংরক্ষিত সংস্করণে চলবে। ঐচ্ছিক; ডিফল্ট হল false

প্রতিক্রিয়া মূল অংশ

যদি সফল হয়, তাহলে রেসপন্স বডিতে নিম্নলিখিত কাঠামো সহ ডেটা থাকবে:

run দিয়ে শুরু হওয়া একটি Apps Script ফাংশনের একটি এক্সিকিউশনের উপস্থাপনা। ফাংশনটি এক্সিকিউশন শেষ না হওয়া পর্যন্ত এক্সিকিউশন প্রতিক্রিয়া আসে না। সর্বাধিক এক্সিকিউশন রানটাইম Apps Script কোটা গাইডে তালিকাভুক্ত করা হয়েছে।

কার্যকরকরণ শুরু হওয়ার পরে, এর চারটি ফলাফলের মধ্যে একটি হতে পারে:

  • যদি স্ক্রিপ্ট ফাংশনটি সফলভাবে ফিরে আসে, তাহলে response ফিল্ডে একটি ExecutionResponse অবজেক্ট থাকবে যার ফাংশনের রিটার্ন মান অবজেক্টের result ফিল্ডে থাকবে।
  • যদি স্ক্রিপ্ট ফাংশন (অথবা অ্যাপস স্ক্রিপ্ট নিজেই) একটি ব্যতিক্রম দেয়, তাহলে error ক্ষেত্রে একটি Status অবজেক্ট থাকে। Status অবজেক্টের details ক্ষেত্রে একটি একক ExecutionError অবজেক্ট সহ একটি অ্যারে থাকে যা ত্রুটির প্রকৃতি সম্পর্কে তথ্য প্রদান করে।
  • যদি কার্যকরকরণ এখনও সম্পন্ন না হয়, তাহলে done ক্ষেত্রটি false এবং response বা error ক্ষেত্র দুটিই উপস্থিত নেই।
  • যদি run কল নিজেই ব্যর্থ হয় (উদাহরণস্বরূপ, একটি ত্রুটিপূর্ণ অনুরোধ বা অনুমোদনের ত্রুটির কারণে), পদ্ধতিটি প্রতিক্রিয়া বডির জন্য একটি ভিন্ন ফর্ম্যাট সহ 4XX পরিসরে একটি HTTP প্রতিক্রিয়া কোড প্রদান করে। ক্লায়েন্ট লাইব্রেরিগুলি স্বয়ংক্রিয়ভাবে একটি 4XX প্রতিক্রিয়াকে একটি ব্যতিক্রম শ্রেণিতে রূপান্তর করে।

JSON উপস্থাপনা
{
  "done": boolean,

  // Union field result can be only one of the following:
  "error": {
    object (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // End of list of possible types for union field result.
}
ক্ষেত্র
done

boolean

এই ক্ষেত্রটি নির্দেশ করে যে স্ক্রিপ্ট এক্সিকিউশন সম্পন্ন হয়েছে কিনা। একটি সম্পূর্ণ এক্সিকিউশনে একটি পপুলেটড response ফিল্ড থাকে যেখানে এক্সিকিউশন করা হয়েছিল এমন ExecutionResponse from ফাংশন থাকে।

Union ফিল্ড result । অপারেশন রেজাল্ট, যা একটি error বা একটি বৈধ response হতে পারে। যদি done == false , error বা response উভয়ই সেট করা হয় না। যদি done == true , error বা response ঠিক একটি সেট করা হতে পারে। কিছু পরিষেবা ফলাফল প্রদান নাও করতে পারে। result নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:
error

object ( Status )

যদি একটি run কল সফল হয় কিন্তু স্ক্রিপ্ট ফাংশন (অথবা অ্যাপস স্ক্রিপ্ট নিজেই) একটি ব্যতিক্রম দেয়, তাহলে এই ফিল্ডে একটি Status অবজেক্ট থাকে। Status অবজেক্টের details ফিল্ডে একটি একক ExecutionError অবজেক্ট সহ একটি অ্যারে থাকে যা ত্রুটির প্রকৃতি সম্পর্কে তথ্য প্রদান করে।

response

object

যদি স্ক্রিপ্ট ফাংশনটি সফলভাবে ফিরে আসে, তাহলে এই ফিল্ডে ফাংশনের রিটার্ন মান সহ একটি ExecutionResponse অবজেক্ট থাকবে।

একটি অবজেক্টে একটি নির্দিষ্ট ধরণের ফিল্ড রয়েছে। একটি অতিরিক্ত ফিল্ড "@type" এ একটি URI রয়েছে যা টাইপটি সনাক্ত করে। উদাহরণ: { "id": 1234, "@type": "types.example.com/standard/id" }

অনুমোদনের সুযোগ

নিম্নলিখিত OAuth স্কোপগুলির মধ্যে একটি প্রয়োজন:

  • https://apps-apis.google.com/a/feeds
  • https://apps-apis.google.com/a/feeds/alias/
  • https://apps-apis.google.com/a/feeds/groups/
  • https://mail.google.com/
  • https://sites.google.com/feeds
  • https://www.google.com/calendar/feeds
  • https://www.google.com/m8/feeds
  • https://www.googleapis.com/auth/admin.directory.group
  • https://www.googleapis.com/auth/admin.directory.user
  • https://www.googleapis.com/auth/documents
  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/dynamiccreatives
  • https://www.googleapis.com/auth/forms
  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/groups
  • https://www.googleapis.com/auth/script.cpanel
  • https://www.googleapis.com/auth/script.external_request
  • https://www.googleapis.com/auth/script.scriptapp
  • https://www.googleapis.com/auth/script.send_mail
  • https://www.googleapis.com/auth/script.storage
  • https://www.googleapis.com/auth/script.webapp.deploy
  • https://www.googleapis.com/auth/spreadsheets
  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/sqlservice
  • https://www.googleapis.com/auth/userinfo.email

আরও তথ্যের জন্য, OAuth 2.0 ওভারভিউ দেখুন।

অবস্থা

যদি একটি run কল সফল হয় কিন্তু স্ক্রিপ্ট ফাংশন (অথবা অ্যাপস স্ক্রিপ্ট নিজেই) একটি ব্যতিক্রম দেয়, তাহলে রেসপন্স বডির error ক্ষেত্রে এই Status অবজেক্টটি থাকে।

JSON উপস্থাপনা
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
ক্ষেত্র
code

integer

স্ট্যাটাস কোড। এই API-এর জন্য, এই মানটি হ'ল:

  • ১০, একটি SCRIPT_TIMEOUT ত্রুটি নির্দেশ করে,
  • ৩, একটি INVALID_ARGUMENT ত্রুটি নির্দেশ করে, অথবা
  • ১, একটি CANCELLED কার্যকরকরণ নির্দেশ করে।

message

string

একটি ডেভেলপার-মুখী ত্রুটি বার্তা, যা ইংরেজিতে। ব্যবহারকারী-মুখী যেকোনো ত্রুটি বার্তা স্থানীয়করণ করা হয় এবং details ক্ষেত্রে পাঠানো হয়, অথবা ক্লায়েন্ট দ্বারা স্থানীয়করণ করা হয়।

details[]

object

একটি অ্যারে যাতে একটি একক ExecutionError অবজেক্ট থাকে যা ত্রুটির প্রকৃতি সম্পর্কে তথ্য প্রদান করে।

একটি অবজেক্টে একটি নির্দিষ্ট ধরণের ফিল্ড রয়েছে। একটি অতিরিক্ত ফিল্ড "@type" এ একটি URI রয়েছে যা টাইপটি সনাক্ত করে। উদাহরণ: { "id": 1234, "@type": "types.example.com/standard/id" }