คำแนะนำนี้จะอธิบายวิธีใช้ปลายทางของระยะเวลาการให้คะแนนใน Google Classroom API
ภาพรวม
ระยะเวลาการให้คะแนนสร้างขึ้นเพื่อจัดระเบียบการบ้าน แบบทดสอบ และโครงงานตามช่วงวันที่ที่ระบุ Classroom API ช่วยให้นักพัฒนาซอฟต์แวร์สร้าง แก้ไข และอ่านระยะเวลาการให้คะแนนใน Classroom ในนามของผู้ดูแลระบบและครูได้ นอกจากนี้คุณยังใช้ Classroom API เพื่อกำหนดระยะเวลาการให้คะแนนใน CourseWork ได้
Classroom API มีปลายทาง 2 จุดสำหรับอ่านและเขียนข้อมูลระยะเวลาการให้คะแนนในหลักสูตร ดังนี้
GetGradingPeriodSettings
: ช่วยให้คุณอ่านการตั้งค่าระยะเวลาการให้คะแนนในหลักสูตรได้UpdateGradingPeriodSettings
: ช่วยให้คุณจัดการการตั้งค่าระยะเวลาการให้คะแนนในหลักสูตรได้โดยการเพิ่ม แก้ไข และลบระยะเวลาการให้คะแนน รวมถึงนำระยะเวลาการให้คะแนนที่กำหนดค่าไว้ไปใช้กับงานทั้งหมดที่มีในหลักสูตร
ข้อกำหนดการอนุญาตให้ใช้สิทธิ
แก้ไขการตั้งค่าระยะเวลาการให้คะแนนในหลักสูตร
หากต้องการสร้าง แก้ไข หรือลบระยะเวลาการให้คะแนนในหลักสูตรโดยใช้ปลายทาง UpdateGradingPeriodSettings
ต้องเป็นไปตามเงื่อนไขต่อไปนี้
- ผู้ใช้ที่ส่งคำขอได้รับมอบหมายใบอนุญาต Google Workspace for Education Plus
- เจ้าของหลักสูตรได้รับมอบหมายใบอนุญาต Google Workspace for Education Plus
อ่านการตั้งค่าระยะเวลาการให้คะแนนในหลักสูตร
ผู้ดูแลระบบโดเมนและครูของหลักสูตรจะอ่านการตั้งค่าระยะเวลาการให้คะแนนได้ ไม่ว่าจะได้รับใบอนุญาตประเภทใดก็ตาม ซึ่งหมายความว่าคำขอที่ส่งไปยังปลายทาง GetGradingPeriodSettings
จะได้รับอนุญาตในนามของผู้ดูแลระบบโดเมนหรือครูคนใดก็ได้
ตั้งรหัสระยะเวลาการให้คะแนนใน CourseWork
ครูของหลักสูตรจะเพิ่ม gradingPeriodId
ได้เมื่อสร้างหรืออัปเดตหลักสูตรดังกล่าวโดยใช้ API ไม่ว่าจะมอบหมายใบอนุญาตรุ่นใดก็ตาม
ตรวจสอบสิทธิ์ของผู้ใช้ในการกำหนดระยะเวลาการให้คะแนน
คำขอที่ส่งไปยังปลายทาง checkGradingPeriodsSetupEligibility
จะได้รับอนุญาตในนามของผู้ดูแลระบบหรือครูทุกคน ใช้ข้อมูลนี้เพื่อระบุว่าผู้ใช้แก้ไขระยะเวลาการให้คะแนนในหลักสูตรได้หรือไม่
สิ่งที่ต้องดำเนินการก่อน
คู่มือนี้ให้ตัวอย่างโค้ดใน Python และจะถือว่าคุณมีสิ่งต่อไปนี้
- โปรเจ็กต์ Google Cloud คุณสามารถตั้งค่าได้โดยทำตามวิธีการในการเริ่มต้นใช้งาน Python อย่างรวดเร็ว
- เพิ่มขอบเขตต่อไปนี้ในหน้าจอขอความยินยอม OAuth ของโปรเจ็กต์แล้ว
https://www.googleapis.com/auth/classroom.courses
https://www.googleapis.com/auth/classroom.coursework.students
- รหัสของหลักสูตรที่ควรแก้ไขระยะเวลาการให้คะแนน เจ้าของหลักสูตรต้องมีใบอนุญาต Google Workspace for Education Plus
- สิทธิ์เข้าถึงข้อมูลเข้าสู่ระบบของครูหรือผู้ดูแลระบบที่มีใบอนุญาต Google Workspace for Education Plus คุณจะต้องใช้ข้อมูลเข้าสู่ระบบของครู เพื่อสร้างหรือแก้ไขหลักสูตร ผู้ดูแลระบบจะสร้างหรือแก้ไขหลักสูตร ไม่ได้หากไม่ได้เป็นครูในหลักสูตร
จัดการทรัพยากร GradingPeriodSettings
ทรัพยากร GradingPeriodSettings
ประกอบด้วยรายการ GradingPeriods
แต่ละรายการและช่องบูลีนชื่อ applyToExistingCoursework
รายการ GradingPeriods
แสดงระยะเวลาการให้คะแนนทั้งหมดในหลักสูตร คุณต้องระบุชื่อ วันที่เริ่มต้น และวันที่สิ้นสุดสำหรับระยะเวลาการให้คะแนนแต่ละช่วงในรายการ ระยะเวลาการให้คะแนนแต่ละช่วงในหลักสูตรต้องมีชื่อไม่ซ้ำกัน และวันที่เริ่มต้นและวันที่สิ้นสุดของระยะเวลาการให้คะแนนที่แตกต่างกันจะทับซ้อนกันไม่ได้ ระยะเวลาการให้คะแนนแต่ละช่วงจะมีตัวระบุที่กำหนด Classroom API เป็นของตัวเอง
บูลีน applyToExistingCoursework
เป็นการตั้งค่าที่ใช้งานอยู่ ซึ่งช่วยให้คุณจัดระเบียบ CourseWork ที่สร้างไว้ก่อนหน้านี้ลงในระยะเวลาการให้คะแนนได้โดยไม่ต้องเรียก API แยกต่างหากเพื่อแก้ไข gradingPeriodId
สำหรับ CourseWork แต่ละรายการ หากตั้งค่าเป็น True
Classroom จะกำหนด gradingPeriodId
ใน CourseWork ที่มีอยู่ทั้งหมดโดยอัตโนมัติ หาก courseWork.dueDate
อยู่ภายในวันที่เริ่มต้นและวันที่สิ้นสุดของระยะเวลาการให้คะแนนที่มีอยู่ หากไม่ได้ตั้งวันที่ครบกำหนดใน CourseWork ไว้ Classroom จะใช้ courseWork.scheduledTime
หากไม่มีช่องใดช่องหนึ่งหรือไม่มีรายการที่ตรงกันภายในวันที่เริ่มต้นและวันที่สิ้นสุดของระยะเวลาการให้คะแนนที่มีอยู่ หลักสูตรดังกล่าวจะไม่เชื่อมโยงกับระยะเวลาการให้คะแนน
ตรวจสอบว่าผู้ใช้จะแก้ไขการตั้งค่าระยะเวลาการให้คะแนนในหลักสูตรได้หรือไม่
เนื่องจากความสามารถในการสร้างและแก้ไขระยะเวลาการให้คะแนนใน Classroom มีให้บริการแก่ผู้ใช้ที่มีใบอนุญาตเท่านั้น Classroom API จึงมีปลายทาง checkGradingPeriodsSetupEligibility
เพื่อช่วยให้คุณพิจารณาล่วงหน้าได้ว่าผู้ใช้จะส่งคำขอไปยังปลายทางของ UpdateGradingPeriodSettings
ได้หรือไม่
Python
def check_grading_period_setup_eligibility(classroom, course_id):
"""Checks whether a user is able to create and modify grading periods in a course."""
try:
grading_period_eligibility_response = classroom.courses().checkGradingPeriodsSetupEligibility(
courseId=course_id, previewVersion="V1_20240401_PREVIEW").execute()
# Retrieve the isGradingPeriodsSetupEligible boolean from the response.
# If the boolean is `True`, the user is able to modify grading period settings in the course.
is_grading_periods_eligible = grading_period_eligibility_response.get("isGradingPeriodsSetupEligible")
return is_grading_periods_eligible
except HttpError as error:
# Handle errors as appropriate for your application.
print(f"An error occurred: {error}")
return error
เพิ่มระยะเวลาการให้คะแนน
เมื่อแน่ใจว่าผู้ใช้มีใบอนุญาตที่จำเป็นในการแก้ไขการตั้งค่าระยะเวลาการให้คะแนนในหลักสูตรแล้ว คุณก็เริ่มส่งคำขอไปยังปลายทาง UpdateGradingPeriodSettings
ได้ การแก้ไขทรัพยากร GradingPeriodSettings
จะดำเนินการโดยใช้ปลายทาง UpdateGradingPeriodSettings
ไม่ว่าคุณจะเพิ่มระยะเวลาการให้คะแนนแต่ละรายการ แก้ไขระยะเวลาการให้คะแนนที่มีอยู่ หรือลบระยะเวลาการให้คะแนน
Python
ในตัวอย่างต่อไปนี้ ทรัพยากร gradingPeriodSettings
ได้รับการแก้ไขให้มีระยะเวลาการให้คะแนน 2 ช่วง บูลีน applyToExistingCoursework
ได้รับการตั้งค่าเป็น True
ซึ่งจะแก้ไข gradingPeriodId
ในหลักสูตรที่มีอยู่ซึ่งอยู่ระหว่างวันที่เริ่มต้นและวันที่สิ้นสุดของระยะเวลาการให้คะแนน โปรดทราบว่า updateMask
จะมีทั้ง 2 ช่อง บันทึกรหัสสำหรับระยะเวลาการให้คะแนนแต่ละช่วงหลังจากส่งกลับมาในคำตอบ คุณจะต้องใช้รหัสเหล่านี้เพื่ออัปเดตระยะเวลาการให้คะแนน หากจำเป็น
def create_grading_periods(classroom, course_id):
"""
Create grading periods in a course and apply the grading periods
to existing courseWork.
"""
try:
body = {
"gradingPeriods": [
{
"title": "First Semester",
"start_date": {
"day": 1,
"month": 9,
"year": 2023
},
"end_date": {
"day": 15,
"month": 12,
"year": 2023
}
},
{
"title": "Second Semester",
"start_date": {
"day": 15,
"month": 1,
"year": 2024
},
"end_date": {
"day": 31,
"month": 5,
"year": 2024
}
}
],
"applyToExistingCoursework": True
}
gradingPeriodSettingsResponse = classroom.courses().updateGradingPeriodSettings(
courseId=course_id,
updateMask='gradingPeriods,applyToExistingCoursework',
body=body,
previewVersion="V1_20240401_PREVIEW"
).execute();
print(f"Grading period settings updated.")
return gradingPeriodSettingsResponse
except HttpError as error:
# Handle errors as appropriate for your application.
print(f"An error occurred: {error}")
return error
อ่านการตั้งค่าระยะเวลาการให้คะแนน
อ่าน GradingPeriodSettings
โดยใช้ปลายทาง GetGradingPeriodSettings
ผู้ใช้ทุกคน ไม่ว่าจะมีใบอนุญาตหรือไม่ก็ตาม จะอ่านการตั้งค่าระยะเวลาการให้คะแนนในหลักสูตรได้
Python
def get_grading_period_settings(classroom, course_id):
"""Read grading periods settings in a course."""
try:
gradingPeriodSettings = classroom.courses().getGradingPeriodSettings(
courseId=course_id, previewVersion="V1_20240401_PREVIEW").execute()
return gradingPeriodSettings
except HttpError as error:
# Handle errors as appropriate for your application.
print(f"An error occurred: {error}")
return error
เพิ่มระยะเวลาการให้คะแนนแต่ละรายการลงในรายการ
การอัปเดตระยะเวลาการให้คะแนนแต่ละรายการต้องทำตามรูปแบบ Read-modify-write ซึ่งหมายความว่าคุณควรทำดังนี้
- อ่านรายการระยะเวลาการให้คะแนนภายในทรัพยากร
GradingPeriodSettings
โดยใช้ปลายทางGetGradingPeriodSettings
- ทำการแก้ไขที่เลือกในรายการระยะเวลาการให้คะแนน
- ส่งรายการระยะเวลาการให้คะแนนใหม่ในคำขอไปยัง
UpdateGradingPeriodSettings
รูปแบบนี้จะช่วยให้คุณมั่นใจได้ว่าชื่อระยะเวลาการให้คะแนนแต่ละชื่อในหลักสูตรนั้นแตกต่างกันและไม่มีความคาบเกี่ยวกันระหว่างวันที่เริ่มต้นและวันที่สิ้นสุดของระยะเวลาการให้คะแนน
โปรดคำนึงถึงกฎต่อไปนี้เกี่ยวกับการอัปเดตรายการระยะเวลาการให้คะแนน
- ระยะเวลาการให้คะแนนที่เพิ่มลงในรายการโดยไม่มีรหัสจะถือว่าเป็นส่วนเพิ่มเติม
- ระยะเวลาการให้คะแนนที่ไม่มีในรายการจะถือว่าเป็นการลบ
- ระยะเวลาการให้คะแนนที่มีรหัสอยู่แล้ว แต่ข้อมูลที่แก้ไขจะถือว่าเป็นการแก้ไข และปล่อยพร็อพเพอร์ตี้ที่ไม่มีการแก้ไขไว้ตามเดิม
- ระยะเวลาการให้คะแนนที่มีรหัสใหม่หรือรหัสที่ไม่รู้จักจะถือว่าเป็นข้อผิดพลาด
Python
โค้ดต่อไปนี้จะสร้างโดยอิงจากตัวอย่างในคู่มือนี้ ระบบจะสร้างระยะเวลาการให้คะแนนใหม่โดยตั้งชื่อว่า "ฤดูร้อน" บูลีน applyToExistingCoursework
ได้รับการตั้งค่าเป็น False
ในเนื้อหาคำขอ
ซึ่งระบบจะอ่าน GradingPeriodSettings
ปัจจุบัน เพิ่มระยะเวลาการให้คะแนนใหม่ลงในรายการ และตั้งค่าบูลีน applyToExistingCoursework
เป็น False
โปรดทราบว่าระยะเวลาการให้คะแนนที่มีผลกับ CourseWork อยู่แล้วจะไม่ถูกนำออก ในตัวอย่างก่อนหน้านี้
มีการใช้ระยะเวลาการให้คะแนน "ภาคเรียน 1" และ "ภาคเรียน 2" กับ CourseWork ที่มีอยู่แล้ว และจะไม่นำออกจากหลักสูตรหากตั้งค่า applyToExistingCoursework
เป็น "เท็จ" ในคำขอที่ตามมา
def add_grading_period(classroom, course_id):
"""
A new grading period is added to the list, but it is not applied to existing courseWork.
"""
try:
# Use the `GetGradingPeriodSettings` endpoint to retrieve the existing
# grading period IDs. You will need to include these IDs in the request
# body to make sure existing grading periods aren't deleted.
body = {
"gradingPeriods": [
{
# Specify the ID to make sure the grading period is not deleted.
"id": "FIRST_SEMESTER_GRADING_PERIOD_ID",
"title": "First Semester",
"start_date": {
"day": 1,
"month": 9,
"year": 2023
},
"end_date": {
"day": 15,
"month": 12,
"year": 2023
}
},
{
# Specify the ID to make sure the grading period is not deleted.
"id": "SECOND_SEMESTER_GRADING_PERIOD_ID",
"title": "Second Semester",
"start_date": {
"day": 15,
"month": 1,
"year": 2024
},
"end_date": {
"day": 31,
"month": 5,
"year": 2024
}
},
{
# Does not include an ID because this grading period is an addition.
"title": "Summer",
"start_date": {
"day": 1,
"month": 6,
"year": 2024
},
"end_date": {
"day": 31,
"month": 8,
"year": 2024
}
}
],
"applyToExistingCoursework": False
}
gradingPeriodSettings = classroom.courses().updateGradingPeriodSettings(
courseId=course_id, body=body, updateMask='gradingPeriods,applyToExistingCoursework',
previewVersion="V1_20240401_PREVIEW").execute()
return gradingPeriodSettings
except HttpError as error:
# Handle errors as appropriate for your application.
print(f"An error occurred: {error}")
return error
คำแนะนำที่เป็นประโยชน์เกี่ยวกับช่องบูลีน applyToExistingCoursework
โปรดทราบว่าบูลีน applyToExistingCoursework
จะคงที่ ซึ่งหมายความว่าหากตั้งค่าบูลีนเป็น True
ในการเรียก API ก่อนหน้าและไม่มีการเปลี่ยนแปลง การอัปเดตระยะเวลาการให้คะแนนหลังจากนั้นจะมีผลกับ CourseWork ที่มีอยู่
โปรดทราบว่าหากคุณเปลี่ยนค่าบูลีนนี้จาก True
เป็น False
ในคำขอเป็น UpdateGradingPeriodSettings
เฉพาะการเปลี่ยนแปลงใหม่ที่คุณทำกับ GradingPeriodSettings
จะไม่มีผลกับ CourseWork ที่มีอยู่ ระบบจะไม่นำข้อมูลระยะเวลาการให้คะแนนที่ใช้กับ CourseWork ในการเรียก API ก่อนหน้านี้เมื่อตั้งค่าบูลีนเป็น True
วิธีที่มีประโยชน์ในการพิจารณาการตั้งค่าบูลีนนี้คือฟีเจอร์นี้รองรับการเชื่อมโยง CourseWork ที่มีอยู่กับระยะเวลาการให้คะแนนที่กำหนดค่าไว้ แต่ไม่รองรับการนำการเชื่อมโยงที่มีอยู่ระหว่าง CourseWork กับระยะเวลาการให้คะแนนที่กำหนดค่าไว้ออก
หากคุณลบหรือเปลี่ยนชื่อระยะเวลาการให้คะแนน ระบบจะนำการเปลี่ยนแปลงเหล่านั้นไปใช้ผ่าน CourseWork ทั้งหมดที่มีอยู่ ไม่ว่าการตั้งค่าบูลีน applyToExistingCoursework
จะเป็นอย่างไรก็ตาม
อัปเดตระยะเวลาการให้คะแนนแต่ละรายการในรายการ
หากต้องการแก้ไขข้อมูลบางอย่างที่เชื่อมโยงกับระยะเวลาการให้คะแนนที่มีอยู่ ให้ใส่รหัสของระยะเวลาการให้คะแนนที่มีอยู่ในรายการพร้อมกับข้อมูลที่แก้ไข
Python
ในตัวอย่างนี้ วันที่สิ้นสุดของระยะเวลาการให้คะแนน "ฤดูร้อน" จะได้รับการแก้ไข ฟิลด์ applyToExistingCoursework
จะถูกตั้งค่าเป็น True
โปรดทราบว่าการตั้งค่าบูลีนนี้เป็น True
จะใช้ระยะเวลาการให้คะแนนที่กำหนดค่าไว้ทั้งหมดกับ CourseWork ที่มีอยู่ ในคำขอ API ก่อนหน้านี้ มีการตั้งค่าบูลีนเป็น False
เพื่อไม่ให้ระยะเวลาการให้คะแนน "ฤดูร้อน" มีผลกับ CourseWork ที่มีอยู่ เมื่อตั้งค่าช่องบูลีนนี้เป็น True
แล้ว ระบบจะใช้ระยะเวลาการให้คะแนน "ฤดูร้อน" กับ CourseWork ที่มีอยู่ทั้งหมดที่ตรงกัน
def update_existing_grading_period(classroom, course_id):
"""
An existing grading period is updated.
"""
try:
# Use the `GetGradingPeriodSettings` endpoint to retrieve the existing
# grading period IDs. You will need to include these IDs in the request
# body to make sure existing grading periods aren't deleted.
body = {
"gradingPeriods": [
{
"id": "FIRST_SEMESTER_GRADING_PERIOD_ID",
"title": "First Semester",
"start_date": {
"day": 1,
"month": 9,
"year": 2023
},
"end_date": {
"day": 15,
"month": 12,
"year": 2023
}
},
{
"id": "SECOND_SEMESTER_GRADING_PERIOD_ID",
"title": "Second Semester",
"start_date": {
"day": 15,
"month": 1,
"year": 2024
},
"end_date": {
"day": 31,
"month": 5,
"year": 2024
}
},
{
# The end date for this grading period will be modified from August 31, 2024 to September 10, 2024.
# Include the grading period ID in the request along with the new data.
"id": "SUMMER_GRADING_PERIOD_ID",
"title": "Summer",
"start_date": {
"day": 1,
"month": 6,
"year": 2024
},
"end_date": {
"day": 10,
"month": 9,
"year": 2024
}
}
],
"applyToExistingCoursework": True
}
gradingPeriodSettings = classroom.courses().updateGradingPeriodSettings(
courseId=course_id, body=body, updateMask='gradingPeriods,applyToExistingCoursework',
previewVersion="V1_20240401_PREVIEW").execute()
return gradingPeriodSettings
except HttpError as error:
# Handle errors as appropriate for your application.
print(f"An error occurred: {error}")
return error
ลบระยะเวลาการให้คะแนนแต่ละช่วง
หากต้องการลบระยะเวลาการให้คะแนน ให้ข้ามระยะเวลาการให้คะแนนในรายการ โปรดทราบว่าหากลบระยะเวลาการให้คะแนน ระบบจะลบการอ้างอิงถึงระยะเวลาการให้คะแนนใน CourseWork ด้วยไม่ว่าการตั้งค่า applyToExistingCoursework
จะเป็นอย่างไรก็ตาม
Python
หากต้องการดูตัวอย่างในคู่มือนี้ต่อไป ให้ลบระยะเวลาการให้คะแนน "ฤดูร้อน" ออก
def delete_grading_period(classroom, course_id):
"""
An existing grading period is deleted.
"""
try:
body = {
"gradingPeriods": [
{
"id": "FIRST_SEMESTER_GRADING_PERIOD_ID",
"title": "First Semester",
"start_date": {
"day": 1,
"month": 9,
"year": 2023
},
"end_date": {
"day": 15,
"month": 12,
"year": 2023
}
},
{
"id": "SECOND_SEMESTER_GRADING_PERIOD_ID",
"title": "Second Semester",
"start_date": {
"day": 15,
"month": 1,
"year": 2024
},
"end_date": {
"day": 31,
"month": 5,
"year": 2024
}
}
]
}
gradingPeriodSettings = classroom.courses().updateGradingPeriodSettings(
courseId=course_id, body=body, updateMask='gradingPeriods',
previewVersion="V1_20240401_PREVIEW").execute()
return gradingPeriodSettings
except HttpError as error:
# Handle errors as appropriate for your application.
print(f"An error occurred: {error}")
return error
จัดการช่อง gradingPeriodId
ใน CourseWork
แหล่งข้อมูลใน CourseWork จะมีช่อง gradingPeriodId
คุณจะใช้อุปกรณ์ปลายทาง CourseWork เพื่ออ่านและเขียนระยะเวลาการให้คะแนนที่เชื่อมโยงกับ CoessWork ได้ การจัดการการเชื่อมโยงนี้มี 3 วิธีดังนี้
- การเชื่อมโยงระยะเวลาการให้คะแนนอัตโนมัติโดยอ้างอิงวันที่
- ระยะเวลาการให้คะแนนที่เกี่ยวข้องที่กำหนดเอง
- ไม่มีการเชื่อมโยงระยะเวลาการให้คะแนน
1. การเชื่อมโยงระยะเวลาการให้คะแนนตามวันที่
เมื่อสร้าง CourseWork คุณสามารถอนุญาตให้ Classroom จัดการการเชื่อมโยงระยะเวลาการให้คะแนนให้คุณได้ โดยข้ามช่อง gradingPeriodId
ในคำขอ CourseWork จากนั้นระบุช่อง dueDate
หรือ scheduledTime
ในคำขอ CourseWork หาก dueDate
อยู่ในช่วงวันที่การให้คะแนนที่มีอยู่ Classroom จะกำหนดรหัสระยะเวลาการให้คะแนนดังกล่าวใน CourseWork หากไม่ได้ระบุช่อง dueDate
Classroom จะกำหนด gradingPeriodId
ตามช่อง scheduledTime
หากไม่มีการระบุช่องหรือไม่มีช่วงวันที่ของระยะเวลาการให้คะแนนที่ตรงกัน ระบบจะไม่ตั้งค่า gradingPeriodId
ใน CourseWork
2. ระยะเวลาการให้คะแนนที่เกี่ยวข้องที่กำหนดเอง
หากต้องการเชื่อมโยงหลักสูตรของงานกับระยะเวลาการให้คะแนนที่แตกต่างจากระยะเวลาการให้คะแนนที่สอดคล้องกับ dueDate
หรือ scheduledTime
ให้ตั้งค่าช่อง gradingPeriodId
ด้วยตนเองเมื่อสร้างหรืออัปเดต CourseWork หากคุณตั้งค่า gradingPeriodId
ด้วยตนเอง Classroom จะไม่เชื่อมโยงระยะเวลาการให้คะแนนตามวันที่โดยอัตโนมัติ
3. ไม่มีการเชื่อมโยงระยะเวลาการให้คะแนน
หากไม่ต้องการให้ CourseWork เชื่อมโยงกับระยะเวลาการให้คะแนนใดๆ เลย ให้ตั้งค่าช่อง gradingPeriodId
ในคำขอ CourseWork เป็นสตริงว่าง (gradingPeriodId
: ""
)
หากอัปเดตวันที่ครบกำหนดแล้ว รหัสระยะเวลาการให้คะแนนจะเป็นอย่างไร
หากกำลังอัปเดตช่อง dueDate
ของ CourseWork และต้องการคงการเชื่อมโยงระยะเวลาการให้คะแนนที่กำหนดเองหรือไม่มีการเชื่อมโยงระยะเวลาการให้คะแนนไว้ คุณควรใส่ dueDate
และ gradingPeriodId
ในเนื้อหา updateMask และคำขอ การดำเนินการนี้จะบอกให้ Classroom ไม่ลบล้าง gradingPeriodId
ด้วยระยะเวลาการให้คะแนนที่ตรงกับ dueDate
ใหม่
Python
body = {
"dueDate": {
"month": 6,
"day": 10,
"year": 2024
},
"dueTime": {
"hours": 7
},
"gradingPeriodId": "<INSERT-GRADING-PERIOD-ID-OR-EMPTY-STRING>"
}
courseWork = classroom.courses().courseWork().patch(
courseId=course_id, id=coursework_id, body=body,
updateMask='dueDate,dueTime,gradingPeriodId', # include the gradingPeriodId field in the updateMask
previewVersion="V1_20240401_PREVIEW").execute()