問題タブ [google-apps-for-education]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-apps-script - Google Classroom - アプリ スクリプトを使用して生徒を追加する
サブドメインを持つ 1 つのドメインがあります - それぞれ school.com と students.school.com です。
Google Apps スクリプトを使用して、クラスごとに Google クラスルームを作成しました。
問題が発生
しました。教師と生徒をGoogle教室に追加しようとしています。
私が使用している「スーパー管理者」アカウントは、メイン ドメイン (school.com) のものです。
したがって、教師を教室に追加することはできますが、サブドメイン (students.school.com) に属しているため、生徒を教室に追加することはできません。
私のコードは次のようになります。
関数を実行addStudents
すると、このエラーが表示されます。
google-oauth - Google Apps for Education を使用している一部の学校で Google oAuth2 呼び出しが失敗する
oauth と google を使用した認証を許可します。私たちのクライアントの大多数にとって、示されているコードは問題なく動作します。ただし、いくつかは失敗します。ユーザーの学校が提供するGoogleメールアカウントを使用して問題を引き起こし、個人アカウントに切り替えても問題が発生しないため、問題はネットワークに関連していません。問題が発生した場合、その学校全体で発生するため、Google アカウントに関連するセットアップであると思われますが、誰も問題を知らないようです。ヘルプ!!!
問題は makeAPICall 関数にあります。ほとんどのユーザーはこの後メールにアクセスできますが、問題のある学校ではメールが定義されていません。ただし、エラーは返されません。
algorithm - 400 人の生徒の「入札」を簡単に並べ替える方法は?
私は高校の教師で、生徒の並べ替えの問題で助けが必要です。
- 学生は 6 週間ごとに 100 個の「トークン」を受け取り、約 30 の異なるプロジェクトに入札できます。
- 彼らは、関心に基づいてトークンを「使う」ように求める Google フォームを介して入札します。
- これにより、30 列 (プロジェクトごとに 1 つ) と 373 行 (生徒ごとに 1 つ) を持つ Google スプレッドシートが作成されます。
各プロジェクトに割り当てられた学生を含む新しいシートになるように、このシートの並べ替えを自動化する必要があります。
目標:
- 最上位の「入札」プロジェクトに最大数の学生が配置されます。
- どのプロジェクトにも 25 人を超える学生はいません。
- 「レベル 1」に分類される学生は 1 つのプロジェクトにのみ割り当てられますが、「レベル 2」に分類される学生は 2 つのプロジェクトの名簿に登録されています。このレベルは、フォームとともに送信される電子メールに関連付けられています。
- 最大 100 トークンを超えて入札した学生は、プロジェクト内の空いている場所にランダムに割り当てられます。
- プロジェクトの名簿は、学生の競合がない 5 つの「時間」に均等に分割されます。たとえば、「Science Project」と「Math Project」の名簿に同じ学生がいない場合、それらは同時に存在する可能性があります。同じ学生がいる場合、それらは異なる時期になります。
- 競合が発生した場合、学生には次に高い入札額が割り当てられます。次に高い入札額がない競合が発生した場合、学生には無作為に割り当てられたプロジェクトが割り当てられます。
- 例 1: 26 人の学生がプロジェクトで 100 トークンを入札します。26 個のうち 1 個がランダムなプロジェクトに配置されます。
- 例 2: 24 人の学生がプロジェクトで 100 トークンを入札します。5 人の学生が同じプロジェクトで 99 トークンを入札しました。5 人中 4 人は、「資格を得る」のに十分な場合、1 トークンを入札するプロジェクトに割り当てられます。そうでない場合は、他のプロジェクトにランダムに割り当てられます。
さまざまな Google スプレッドシートの数式を使用して手動で並べ替えることができますが、約 3 時間かかります。これを自動化するためのツールを構築するための見積もりをもらいましたが、それは私の価格帯からかなり外れています。友人がここに投稿することを勧めました。受けたい人いますか?配布物を求めていません。また、サンプル データを含む Google スプレッドシートを共有することもできます。
編集:これは、学生情報を削除して使用するプロセスへのリンクです。課題の 1 つは、生徒の情報を削除したときに「student1」などを入力したことです。ただし、「student1」は各シート全体で同じ生徒ではないため、追跡が少し難しくなります。これが私のプロセスを説明するスクリーンキャストです。質問やアイデアがあれば教えてください!