একটি 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 | স্ক্রিপ্টের স্ক্রিপ্ট আইডি কার্যকর করতে হবে। "আইডি" এর অধীনে প্রকল্প সেটিংস পৃষ্ঠায় স্ক্রিপ্ট আইডি খুঁজুন। |
শরীরের অনুরোধ
অনুরোধের অংশে নিম্নলিখিত কাঠামো সহ ডেটা রয়েছে:
JSON প্রতিনিধিত্ব |
---|
{ "function": string, "parameters": [ value ], "sessionState": string, "devMode": boolean } |
ক্ষেত্র | |
---|---|
function | প্রদত্ত স্ক্রিপ্টে কার্যকর করার ফাংশনের নাম। নামের মধ্যে বন্ধনী বা পরামিতি অন্তর্ভুক্ত নয়। এটি একটি অন্তর্ভুক্ত লাইব্রেরিতে যেমন |
parameters[] | যে প্যারামিটারগুলি কার্যকর করা হচ্ছে সেই ফাংশনে পাস করতে হবে৷ প্রতিটি প্যারামিটারের জন্য অবজেক্ট টাইপ অ্যাপস্ স্ক্রিপ্টে প্রত্যাশিত প্রকারের সাথে মেলে। পরামিতিগুলি Apps স্ক্রিপ্ট-নির্দিষ্ট বস্তুর প্রকার হতে পারে না (যেমন একটি |
sessionState | অবজ্ঞাত । শুধুমাত্র Android অ্যাড-অনগুলির সাথে ব্যবহারের জন্য। একটি আইডি যা Google ডক্স বা পত্রকের জন্য অ্যান্ড্রয়েড অ্যাপে ব্যবহারকারীর বর্তমান সেশনের প্রতিনিধিত্ব করে, অ্যাড-অন চালু করে এমন অভিপ্রায়ে অতিরিক্ত ডেটা হিসাবে অন্তর্ভুক্ত। যখন একটি অ্যান্ড্রয়েড অ্যাড-অন একটি সেশন অবস্থার সাথে চালিত হয়, তখন এটি একটি আবদ্ধ স্ক্রিপ্টের বিশেষাধিকার লাভ করে—অর্থাৎ, এটি ব্যবহারকারীর বর্তমান কার্সার অবস্থান (ডক্সে) বা নির্বাচিত সেল (শিটে) এর মতো তথ্য অ্যাক্সেস করতে পারে। রাজ্য পুনরুদ্ধার করতে, |
devMode | যদি |
প্রতিক্রিয়া শরীর
সফল হলে, প্রতিক্রিয়া বডিতে নিম্নলিখিত কাঠামোর সাথে ডেটা থাকে:
একটি Apps স্ক্রিপ্ট ফাংশনের একটি এক্সিকিউশনের একটি উপস্থাপনা run
দিয়ে শুরু হয়েছে। ফাংশনটি কার্যকর করা শেষ না হওয়া পর্যন্ত এক্সিকিউশন রেসপন্স আসে না। অ্যাপ্লিকেশান স্ক্রিপ্ট কোটা নির্দেশিকাতে সর্বাধিক এক্সিকিউশন রানটাইম তালিকাভুক্ত করা হয়েছে৷
মৃত্যুদন্ড শুরু হওয়ার পরে, এটির চারটি ফলাফলের একটি হতে পারে:
- যদি স্ক্রিপ্ট ফাংশন সফলভাবে রিটার্ন করে, তাহলে
response
ফিল্ডে অবজেক্টেরresult
ফিল্ডে ফাংশনের রিটার্ন ভ্যালু সহ একটিExecutionResponse
অবজেক্ট থাকে। - যদি স্ক্রিপ্ট ফাংশন (বা অ্যাপস স্ক্রিপ্ট নিজেই) একটি ব্যতিক্রম থ্রো করে,
error
ক্ষেত্রে একটিStatus
অবজেক্ট রয়েছে।Status
অবজেক্টেরdetails
ক্ষেত্রটিতে একটি এককExecutionError
অবজেক্ট সহ একটি অ্যারে রয়েছে যা ত্রুটির প্রকৃতি সম্পর্কে তথ্য প্রদান করে। - যদি এক্সিকিউশন এখনও সম্পন্ন না হয়,
done
ক্ষেত্রটিfalse
এবংresponse
বাerror
ক্ষেত্র নেই। - যদি
run
কল নিজেই ব্যর্থ হয় (উদাহরণস্বরূপ, একটি ত্রুটিপূর্ণ অনুরোধ বা অনুমোদনের ত্রুটির কারণে), পদ্ধতিটি প্রতিক্রিয়া বডির জন্য একটি ভিন্ন বিন্যাস সহ 4XX পরিসরে একটি HTTP প্রতিক্রিয়া কোড প্রদান করে। ক্লায়েন্ট লাইব্রেরি স্বয়ংক্রিয়ভাবে একটি 4XX প্রতিক্রিয়া একটি ব্যতিক্রম ক্লাসে রূপান্তর করে।
JSON প্রতিনিধিত্ব |
---|
{ "done": boolean, // Union field |
ক্ষেত্র | |
---|---|
done | এই ক্ষেত্রটি নির্দেশ করে যে স্ক্রিপ্ট এক্সিকিউশন সম্পন্ন হয়েছে কিনা। একটি সম্পূর্ণ সম্পাদনের একটি জনবহুল |
ইউনিয়ন ক্ষেত্রের 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[] | একটি অ্যারে যাতে একটি একক একটি নির্বিচারী ধরনের ক্ষেত্র ধারণকারী একটি বস্তু. একটি অতিরিক্ত ক্ষেত্র |