Method: scripts.run

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

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

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

HTTP অনুরোধ

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

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

পাথ প্যারামিটার

পরামিতি
scriptId

string

স্ক্রিপ্টের স্ক্রিপ্ট আইডি কার্যকর করতে হবে। "আইডি" এর অধীনে প্রকল্প সেটিংস পৃষ্ঠায় স্ক্রিপ্ট আইডি খুঁজুন।

শরীরের অনুরোধ

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

JSON প্রতিনিধিত্ব
{
  "function": string,
  "parameters": [
    value
  ],
  "sessionState": string,
  "devMode": boolean
}
ক্ষেত্র
function

string

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

parameters[]

value ( Value format)

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

sessionState

string

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

devMode

boolean

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

প্রতিক্রিয়া শরীর

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

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

মৃত্যুদন্ড শুরু হওয়ার পরে, এটির চারটি ফলাফলের একটি হতে পারে:

  • যদি স্ক্রিপ্ট ফাংশন সফলভাবে রিটার্ন করে, তাহলে response ফিল্ডে অবজেক্টের result ফিল্ডে ফাংশনের রিটার্ন ভ্যালু সহ একটি ExecutionResponse অবজেক্ট থাকে।
  • যদি স্ক্রিপ্ট ফাংশন (বা অ্যাপস স্ক্রিপ্ট নিজেই) একটি ব্যতিক্রম ছুঁড়ে দেয়, 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 থাকে।

ইউনিয়ন ক্ষেত্রের 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 এর জন্য, এই মানটি হয়:

  • 10, একটি SCRIPT_TIMEOUT ত্রুটি নির্দেশ করে,
  • 3, একটি INVALID_ARGUMENT ত্রুটি নির্দেশ করে, বা৷
  • 1, একটি CANCELLED মৃত্যুদন্ড নির্দেশ করে।

message

string

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

details[]

object

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

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