একটি অ্যাপস স্ক্রিপ্ট প্রজেক্টে একটি ফাংশন চালায়। স্ক্রিপ্ট প্রজেক্টটি অ্যাপস স্ক্রিপ্ট এপিআই-এর সাথে ব্যবহারের জন্য স্থাপন করতে হবে এবং কলিং অ্যাপ্লিকেশনটিকে একই ক্লাউড প্ল্যাটফর্ম প্রজেক্ট শেয়ার করতে হবে।
এই পদ্ধতিতে 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 | API এক্সিকিউটেবল ডিপ্লয়মেন্টের জন্য ডিপ্লয়মেন্ট আইডি। স্ক্রিপ্ট এডিটরে ডিপ্লয় > ডিপ্লয়মেন্ট পরিচালনা করুন এর অধীনে ডিপ্লয়মেন্ট আইডি খুঁজুন । |
অনুরোধের মূল অংশ
অনুরোধের মূল অংশে নিম্নলিখিত কাঠামো সহ ডেটা রয়েছে:
| JSON উপস্থাপনা |
|---|
{ "function": string, "parameters": [ value ], "sessionState": string, "devMode": boolean } |
| ক্ষেত্র | |
|---|---|
function | প্রদত্ত স্ক্রিপ্টে যে ফাংশনটি চালানো হবে তার নাম। নামটিতে বন্ধনী বা প্যারামিটার অন্তর্ভুক্ত নেই। এটি |
parameters[] | যে ফাংশনটি এক্সিকিউট করা হচ্ছে তাতে যেসব প্যারামিটার পাস করতে হবে। প্রতিটি প্যারামিটারের অবজেক্ট টাইপ অ্যাপস স্ক্রিপ্টে প্রত্যাশিত টাইপের সাথে মিলতে হবে। প্যারামিটারগুলি অ্যাপস স্ক্রিপ্ট-নির্দিষ্ট অবজেক্ট টাইপ (যেমন |
sessionState | অবহেলিত । শুধুমাত্র Android অ্যাড-অনগুলির সাথে ব্যবহারের জন্য। একটি আইডি যা Google Docs বা Sheets-এর জন্য Android অ্যাপে ব্যবহারকারীর বর্তমান সেশনের প্রতিনিধিত্ব করে, যা Intent- এ অতিরিক্ত ডেটা হিসেবে অন্তর্ভুক্ত থাকে যা অ্যাড-অনটি চালু করে। যখন একটি Android অ্যাড-অন একটি সেশন স্টেট সহ চালানো হয়, তখন এটি একটি বাউন্ড স্ক্রিপ্টের সুবিধা লাভ করে—অর্থাৎ, এটি ব্যবহারকারীর বর্তমান কার্সার অবস্থান (ডক্সে) বা নির্বাচিত কোষ (শীটগুলিতে) এর মতো তথ্য অ্যাক্সেস করতে পারে। অবস্থা পুনরুদ্ধার করতে, |
devMode | যদি |
প্রতিক্রিয়া মূল অংশ
যদি সফল হয়, তাহলে রেসপন্স বডিতে নিম্নলিখিত কাঠামো সহ ডেটা থাকবে:
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 |
| ক্ষেত্র | |
|---|---|
done | এই ক্ষেত্রটি নির্দেশ করে যে স্ক্রিপ্ট এক্সিকিউশন সম্পন্ন হয়েছে কিনা। একটি সম্পূর্ণ এক্সিকিউশনে একটি পপুলেটড |
Union ফিল্ড result । অপারেশন রেজাল্ট, যা একটি error বা একটি বৈধ response হতে পারে। যদি done == false , error বা response উভয়ই সেট করা হয় না। যদি done == true , error বা response ঠিক একটি সেট করা হতে পারে। কিছু পরিষেবা ফলাফল প্রদান নাও করতে পারে। result নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে: | |
error | যদি একটি |
response | যদি স্ক্রিপ্ট ফাংশনটি সফলভাবে ফিরে আসে, তাহলে এই ফিল্ডে ফাংশনের রিটার্ন মান সহ একটি একটি অবজেক্টে একটি নির্দিষ্ট ধরণের ফিল্ড রয়েছে। একটি অতিরিক্ত ফিল্ড |
অনুমোদনের সুযোগ
নিম্নলিখিত 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 | স্ট্যাটাস কোড। এই API-এর জন্য, এই মানটি হ'ল:
|
message | একটি ডেভেলপার-মুখী ত্রুটি বার্তা, যা ইংরেজিতে। ব্যবহারকারী-মুখী যেকোনো ত্রুটি বার্তা স্থানীয়করণ করা হয় এবং |
details[] | একটি অ্যারে যাতে একটি একক একটি অবজেক্টে একটি নির্দিষ্ট ধরণের ফিল্ড রয়েছে। একটি অতিরিক্ত ফিল্ড |