این صفحه شامل اطلاعاتی است که باید درباره ایجاد و پیکربندی پروژههای Google Cloud برای افزونههای Classroom بدانید. پروژههای Google Cloud برای پیادهسازی Google Single Sign-On از طریق OAuth 2.0 (Google SSO)، برای تأیید درخواستهای ایجاد شده توسط افزونه شما، و برای مدیریت فهرست یک افزونه در فروشگاه Google Workspace Marketplace استفاده میشوند.
برای اطلاعات عمومی بیشتر درباره انتشار یک افزونه در Marketplace به انتشار یک برنامه مراجعه کنید.
ایجاد پروژه Google Cloud
دو نوع پروژه برای ایجاد وجود دارد: یک پروژه خصوصی که برای توسعه استفاده می شود و یک پروژه عمومی که توسط کاربران نهایی قابل دسترسی است. برچسبهای "عمومی" و "خصوصی" به قابلیت مشاهده برنامه شما در Google Workspace Marketplace اشاره دارد. یک برنامه خصوصی Marketplace فقط توسط کاربران در دامنه ای که در آن ایجاد شده است قابل نصب است، در حالی که یک برنامه عمومی Marketplace برای هر دامنه Google Workspace در دسترس است. اینها باید دو برنامه جداگانه باشند، زیرا یک پروژه نمی تواند هم عمومی و هم خصوصی باشد. برنامه های عمومی قبل از اینکه در بازار در دسترس باشند باید بررسی و تایید شوند.
برای اطلاعات کلی ایجاد پروژه Google Cloud به ایجاد پروژه Google Cloud مراجعه کنید.
یک پروژه عمومی Google Cloud ایجاد کنید
این پروژه نشان دهنده برنامه افزودنی است که توسط مدیران، معلمان و دانش آموزان قابل دسترسی است. یک پروژه عمومی قبل از راهاندازی یا نصب باید توسط تیم Google Workspace Marketplace بررسی و تأیید شود.
یک پروژه Google Cloud جدید در دامنه تولید خود ایجاد کنید.
Classroom API را در پروژه Cloud خود فعال کنید.
Google Workspace Marketplace SDK را در پروژه Cloud خود فعال کنید.
Marketplace SDK App Configuration App Visibility را روی Public تنظیم کنید و کادر Unlisted را علامت بزنید.
فیلدهای مورد نیاز را در صفحه فهرست فروشگاه SDK Marketplace تکمیل کنید و روی PUBLISH کلیک کنید.
برنامه شما توسط تیم Google Workspace Marketplace بررسی خواهد شد. آنها با استفاده از آدرس ایمیل توسعه دهنده مشخص شده در Marketplace SDK با شما ارتباط برقرار می کنند. پس از تأیید برنامه، کادر فهرست نشده را پاک کنید تا معلمان و مدیران بتوانند آن را در Marketplace پیدا کنند.
یک پروژه خصوصی Google Cloud ایجاد کنید
این پروژه خصوصی نشان دهنده برنامه افزودنی مورد استفاده برای توسعه است. برای کاربران خارج از دامنه ای که در آن ایجاد شده است قابل دسترسی نیست، اما قبل از نصب نیازی به تأیید ندارد. بنابراین گوگل استفاده از این پروژه را برای توسعه و آزمایش افزونه خود در یک محیط کنترل شده توصیه می کند.
برای ایجاد یک پروژه خصوصی باید به دامنه Google Workspace for Education با مجوز Teaching & Learning یا Plus دسترسی داشته باشید. اگر قبلاً به چنین دامنهای دسترسی ندارید، این مراحل را برای راهاندازی دامنه آزمایشی Google Workspace for Education دنبال کنید، آن را به مجوز Plus ارتقا دهید و به آن اجازه دهید به API افزونههای Classroom دسترسی داشته باشد:
- مراحل دریافت دامنه آزمایشی توسعه دهنده را کامل کنید.
در حالی که به عنوان یک سرپرست در دامنه آزمایشی وارد شدهاید، یک پروژه Google Cloud جدید ایجاد کنید.
یک پروژه Google Cloud ایجاد کنید
اگر نمی توانید به کنسول Google Cloud دسترسی پیدا کنید یا پروژه های Cloud ایجاد کنید، موارد زیر را در کنسول Admin بررسی کنید:
- از صفحه تنظیمات حساب > تنظیمات دسترسی مبتنی بر سن دیدن کنید و گزینه همه کاربران این گروه یا واحد سازمانی 18 سال یا بیشتر هستند را انتخاب کنید.
- در زیر برنامهها > خدمات اضافی Google :
- Google Cloud Platform برای همه روشن است.
- تنظیمات ایجاد پروژه به کاربران اجازه ایجاد پروژه می دهد.
- تنظیمات دسترسی پوسته ابری اجازه دسترسی به پوسته ابری است.
فرم درخواست ارتقاء دامنه آزمایشی را تکمیل و ارسال کنید. با ارسال این فرم درخواست میشود که Google دامنه آزمایشی شما را با ده مجوز به Google Workspace for Education Plus ارتقا دهد و به پروژه Cloud شما اجازه میدهد تا به API افزونههای Classroom وارد شود.
پس از تکمیل فرآیندهای ارتقا و لیست مجاز، ایمیلی دریافت خواهید کرد. مجوزهای Plus را به حسابهای معلم آزمایشی خود در کنسول مدیریت اختصاص دهید. در بخش فهرست > کاربران ، حسابهای معلم آزمایشی خود را ایجاد یا انتخاب کنید. در مجوزهای هر معلم، تأیید کنید که Google Workspace for Education Plus اختصاص داده شده است.
Classroom API را در پروژه Cloud خود فعال کنید.
Google Workspace Marketplace SDK را در پروژه Cloud خود فعال کنید.
Marketplace SDK App Configuration App Visibility را روی خصوصی تنظیم کنید.
فیلدهای مورد نیاز را در صفحه فهرست فروشگاه SDK Marketplace تکمیل کنید و روی PUBLISH کلیک کنید. پس از انتشار فهرست برنامه، کاربران در دامنه می توانند برنامه را در Google Workspace Marketplace یا با مراجعه به URL برنامه نشان داده شده در صفحه فهرست فروشگاه، پیدا و نصب کنند.
OAuth 2.0
دسترسی به Classroom API به رضایت دسترسی کاربر به داده نیاز دارد. این موارد با درخواست دسترسی Google به دامنههای OAuth برای کاربر واردشده و دریافت رمزی که میتواند برای برقراری تماسهای API با Google Classroom استفاده شود، به دست میآید. Scopes باید در فهرست فروشگاه Google Workspace Marketplace پیکربندی شود تا در صورت نصب برافزا، سرپرست دامنه بتواند از طرف کاربران دامنه خود رضایت خود را ارائه دهد.
از آنجایی که محدودههای Classroom حساس هستند، باید قبل از راهاندازی افزونه خود، تأیید OAuth را درخواست کنید. در غیر این صورت، کاربران با پیام هشداری مبنی بر تایید نشدن اپلیکیشن مواجه می شوند و تنها تعداد کمی از کاربران می توانند به محصول شما دسترسی داشته باشند. برای اطلاعات بیشتر در مورد راستیآزمایی، نمای کلی دنباله بررسی را ببینید.
برای فهرست دقیق همه حوزههای موجود و کاربردهای آنها، صفحه OAuth Scopes for Google APIs را ببینید. برای اطلاعات کلی پیکربندی OAuth به صفحه پیکربندی OAuth در مستندات Workspace مراجعه کنید.
مجوزهای کاربر
برنامه وب شما باید حداقل یکی از حوزه های زیر را درخواست کند:
-
https://www.googleapis.com/auth/userinfo.email
، که به یک برنامه اجازه می دهد آدرس ایمیل کاربر را مشاهده کند. -
https://www.googleapis.com/auth/userinfo.profile
، که به یک برنامه اجازه می دهد اطلاعات شخصی مانند پرتره، نام و نام خانوادگی و سایر اطلاعات شخصی را که کاربر در دسترس عموم قرار داده است، ببیند.
پس از اینکه کاربر یکی از این محدوده ها را در افزونه شما مجاز کرد، با پارامتر پرس و جو login_hint
شناسایی می شوند. هنگامی که یک iframe باز می شود، این پارامتر به هر یک از URL های برنامه وب شما منتقل می شود. اگر کاربر یکی از این حوزه ها را مجاز نکرده باشد، login_hint
ارسال نخواهد شد.
login_hint
یک پارامتر استاندارد OpenID Connect است که میتوانید بهصورت اختیاری هنگام استفاده از Google Sign-in یا درخواست یک نشانه OAuth به Google ارسال کنید. در نظر گرفته شده است که تجربه مجوز را برای کاربر نهایی روانتر کند.
دامنه های افزودنی کلاس درس
حوزههای زیر مخصوص افزونههای Classroom هستند:
-
https://www.googleapis.com/auth/classroom.addons.teacher
، که امکان دسترسی به تمام روش های API را فراهم می کند. -
https://www.googleapis.com/auth/classroom.addons.student
، که اجازه می دهد تا به راه اندازی عملیات اعتبار سنجی و خواندن پیوست دسترسی داشته باشید.
حتی با یک نشانه دسترسی معتبر OAuth که نشان دهنده اعتبار کاربر است، تماسهای API با شرایط اضافی بسته میشوند:
- همه روشها مستلزم این هستند که کاربر در دوره مشخص شده توسط
courseId
در درخواست، معلم یا دانشجو باشد. - ایجاد پیوست، بهروزرسانی، حذف، و پسبازگشت نمره مستلزم این است که کاربر معلم باشد.
- تماسها با یک پست Google Classroom با بررسیهای زیر مشخص میشوند.
- هنگامی که یک افزونه از قبل حداقل یک پیوست در یک پست داشته باشد، می تواند درخواست هایی برای موارد زیر ارائه دهد:
- اعتبار سنجی راه اندازی iframe
- عملیات خواندن، به روز رسانی و حذف پیوست
- به روز رسانی نمره در آن پست
- هنگامی که iframe کشف پیوست برای اولین بار باز می شود، ممکن است افزونه هنوز پیوستی روی پست نداشته باشد. یک پارامتر query
addOnToken
ارائه شده است که می تواند برای درخواست موارد زیر استفاده شود:- ایجاد پیوست در زیر پست (
addOnToken
مورد نیاز است) - اعتبار سنجی راه اندازی (
addOnToken
در صورت ارائه تایید می شود و زمانی لازم است که افزونه یک پیوست موجود در پست نداشته باشد)
- ایجاد پیوست در زیر پست (
- هنگامی که یک افزونه از قبل حداقل یک پیوست در یک پست داشته باشد، می تواند درخواست هایی برای موارد زیر ارائه دهد:
تأیید OAuth
یک افزونه Classroom از APIهای Google برای دسترسی به دادههای کاربران Google استفاده میکند.
برای اطلاعات بیشتر در مورد فرآیند تأیید، به سؤالات متداول تأیید OAuth API مراجعه کنید.
فهرست Google Workspace Marketplace
برای اطلاعات کلی پیکربندی Google Workspace Marketplace SDK به فعال کردن و پیکربندی Google Workspace Marketplace SDK و ایجاد فهرست فروشگاه Google Workspace Marketplace مراجعه کنید.
ملاحظات فهرست بندی
فهرست فروشگاه SDK Marketplace پروژه عمومی Google Cloud شما، نام و توضیحات برنامه شما را مشخص می کند که برای کاربران نهایی است. میتوانید این جزئیات را به چندین زبان در زیر جزئیات برنامه ارائه کنید.
این دستورالعمل ها را در لیست های خود دنبال کنید:
در قسمت جزئیات برنامه :
از علامت گذاری در نام برنامه خودداری کنید. برای مثال، به جای «My Company : My Add-on» یا «My Add-on, by My Company» از «My Add-on by My Company» استفاده کنید.
توضیحات کوتاه و توضیحات تفصیلی نباید دقیقاً حاوی متن مشابه باشند.
+ مطمئن شوید که مقداری را برای قسمت Pricing انتخاب کرده اید. این فیلد شامل گزینههای رایگان ، پرداخت شده با استفاده آزمایشی رایگان ، پرداخت شده با ویژگیهای رایگان ، و قیمتهای پولی است. لازم نیست مقدار هزینه را در فهرست بازار مشخص کنید.
مطمئن شوید که مقداری را برای قسمت Category انتخاب کرده اید. منابع آکادمیک یا ابزارهای معلم و مدیریت ممکن است گزینههای خوبی برای افزودنی Classroom باشند.
برای اطلاعات بیشتر به موارد ذکر شده در توضیحات جزئیات برنامه Marketplace مراجعه کنید.
زیر دارایی های گرافیکی :
داراییهای گرافیکی ارائهشده مبهم نیستند و اندازههای مشخصشده در استانداردهای Google Workspace Marketplace را دارند.
هر اسکرین شات ارائه شده ، نمایش دقیقی از تجربه افزودنی شماست .
زیر لینک های پشتیبانی :
- اطمینان حاصل کنید که پیوندی به شرایط خدمات برنامه خود ارائه کرده اید.
مطمئن شوید که دستورالعملهای نام تجاری Google API را رعایت میکنید، که نامها و توضیحات مجاز را پوشش میدهد.
اگر به هر یک از محصولات Google در فهرست خود مراجعه می کنید، از نام آن در قالب ارائه شده در فهرست علائم تجاری استفاده کنید. مطمئن شوید که نماد علامت تجاری (™) را در صورت مشخص شدن درج کرده اید. از " Google Docs™ " استفاده کنید، نه از "Google Docs".
با خدمات صدور مجوز و صورتحساب Google یکپارچه شوید
اگر میخواهید به برنامههای Google Workspace Marketplace خود اجازه دهید با خدمات صدور مجوز و صورتحساب Google یکپارچه شوند، از Marketplace API بازدید کنید.
تنظیمات نصب
افزونهها میتوانند علاوه بر نصب سرپرست ، نصب فردی را نیز مجاز کنند. این صفحه برخی از تفاوت های بین دو نوع نصب را برجسته می کند. در نظر گرفته شده است برای ترویج هر یک از انواع نصب. میتوانید انتخاب کنید که آیا به نصب جداگانه در صفحه پیکربندی برنامه Google Workspace Marketplace SDK اجازه داده شود.
نصب مدیر
نصبهای سرپرست به یک سرپرست اجازه میدهد تا افزونهای را به همه حسابهای یک دامنه یا گروههای دسترسی خاص یا واحدهای سازمانی اضافه کند. فقط یک مدیر دامنه می تواند نصب سرپرست را انجام دهد. سرپرست میتواند بهصورت اختیاری با تمام دامنههای دسترسی از طرف همه کاربران در دامنه موافقت کند. در صورتی که سرپرست این کار را بخواهد، از کاربران خواسته نمی شود که با هیچ محدوده دسترسی موافقت کنند.
در زیر برخی از ملاحظات مربوط به نصب سرپرست آورده شده است.
- کنترل های سخت تر مدیران میتوانند محدودیت دسترسی کاربران به افزونه را محدود کنند.
- سازگاری با مجوز. اگر برنامه شما به مجوز نیاز دارد، کانالگذاری نصبها از طریق یک سرپرست میتواند به اطمینان از توزیع و استفاده مناسب مجوزها با مؤسسه مربوطه کمک کند.
- بار کمتر بر روی کاربران نهایی نصب سرپرست بار راه اندازی را برای معلمان و دانش آموزان کاهش می دهد. این ممکن است منجر به تجربه کاربری یکپارچهتر با کلیکهای کمتر و فرصتهای کمتر برای سردرگمی شود.
برای اطلاعات بیشتر درباره نحوه اجرای نصبهای سرپرست و نحوه عملکرد ساختار سازمانی برای کسب اطلاعات بیشتر درباره واحدهای سازمانی و گروههای دسترسی، به نصب برنامههای Marketplace در دامنه خود مراجعه کنید.
نصب انفرادی
نصب های جداگانه یک افزونه به حساب خود کاربر اضافه می کنند. از کاربر خواسته می شود در حین نصب با دامنه دسترسی افزونه موافقت کند.
در زیر برخی از ملاحظات مربوط به نصب فردی آورده شده است.
- تسهیل پذیرش کاربران بیشتری میتوانند افزونه شما را از Google Workspace Marketplace ببینند و نصب کنند. اجازه دادن به نصب فردی ممکن است معلمان بیشتری را وادار کند که محصول شما را بپذیرند یا از آن حمایت کنند.
- تست مدیر. یک سرپرست ممکن است به صورت جداگانه یک افزونه را برای آزمایش یا ارزیابی آن قبل از تأیید یا نصب آن برای گروه وسیعتری نصب کند.
علاوه بر نصب افزونهها از طرف کاربران، مدیران همچنین میتوانند فهرستی از مجوزها را حفظ کنند تا به کاربران اجازه دهند افزونههایی را نصب کنند که امکان نصب فردی را فراهم میکنند. اگر افزونهای در لیست مجاز نباشد، کاربران همچنان میتوانند فهرست آن را در Google Workspace Marketplace ببینند، اما نمیتوانند افزونه را نصب کنند. آنها در عوض پیامی را می بینند که توضیح می دهد این افزونه توسط مدیر دامنه مجاز به نصب نیست. برای کسب اطلاعات بیشتر درباره این رفتار ، مدیریت برنامههای Google Workspace Marketplace را در فهرست مجاز خود ببینید.
برای اطلاعات بیشتر به اسناد تنظیمات نصب Google Workspace Marketplace مراجعه کنید.
یکپارچه سازی برنامه
شما باید URL راه اندازی iframe را در قسمت URI تنظیم پیوست ارائه دهید. این URL به عنوان مقدار src
iframe برای iframe کشف پیوست استفاده می شود. iframe کشف پیوست توسط معلمان برای یافتن محتوا یا فعالیت هایی برای پیوست کردن به تکالیفشان استفاده می شود.
همچنین باید تمام پیشوندهای URI را مشخص کنید که پیوستها از افزونه شما مجاز هستند. این ویژگی با جلوگیری از پیوستها از منابع غیرمجاز، امنیت را افزایش میدهد.
برای جزئیات بیشتر در مورد این فیلدها به صفحه راهنمای iframes مراجعه کنید.
حساب های آزمایشی
حسابهای آزمایشی را در دامنه آزمایشی خود ایجاد کنید تا رفتار صحیح افزونه خصوصی خود را تأیید کنید. برای آزمایش جابجایی بین دانشآموزان در Student Work Review iframe به دو حساب دانشجویی نیاز است.
اکانت های آزمایشی پیشنهادی:
- Tammy Teacher, tammy.teacher@<دامینه نمایشی شما>
- سام دانشجو، sam.student@<دامنه آزمایشی شما>
- سالی دانشجو، sally.student@<دامنه آزمایشی شما>
برای ایجاد یک حساب آزمایشی جدید این روش را دنبال کنید:
- وارد کنسول مدیریت خود شوید.
- به کاربران بروید.
- روی افزودن کاربر جدید کلیک کنید (شکل 1 را ببینید).
- اطلاعات کاربر را وارد کنید و نقش های مناسب را تعیین کنید.
شکل 1. محل پیوند افزودن کاربر جدید در کنسول مدیریت.
این روش را برای ایجاد یک گروه آزمایشی جدید دنبال کنید:
- وارد کنسول مدیریت خود شوید.
- به گروه ها بروید.
- روی ایجاد گروه کلیک کنید (شکل 2 را ببینید).
- اعضا و صاحبان گروه را وارد کنید.
شکل 2. محل پیوند گروه ایجاد در کنسول مدیریت.