我一直在使用Google PHP api客户端服务库以编程方式创建Google Classroom Classwork。我能够使用以下命令成功创建课程作业:courses_courseWork-> create,并传递课程对象。
但是,我似乎无法创建具有到期日但没有到期日的Course工作对象。没有截止日期的创建工作正常,但是如果我仅设置截止日期,则表示必须发送截止时间对象(Google_Service_Classroom_TimeOfDay)。我尝试创建时未设置小时/分钟/秒/毫微秒,尝试将它们设置为null,并尝试在创建对象后取消设置对象属性。
当我查看创建的ClassWork对象(通过Web界面,没有截止日期)时,dueTime对象属性只是一个空数组。我一辈子都无法弄清楚如何使用API进行创建。
谢谢!
答案 0 :(得分:0)
您的问题有点古老,但是如果其他人遇到此问题,则如果您设置了DueDate,则必须也设置了DueTime。这是API的要求:
dueDate: object(Date):
Optional date, in UTC, that submissions for this course work are due.
This must be specified if dueTime is specified.
dueTime: object(TimeOfDay):
Optional time of day, in UTC, that submissions for this course work are due.
This must be specified if dueDate is specified.
请参阅:https://developers.google.com/classroom/reference/rest/v1/courses.courseWork#CourseWorkState
此外,如前所述,所有create
请求日期和时间都应转换为UTC。根据您应用的设置方式,这可能会很快变得有点复杂...
使用诸如moment.js或luxon之类的库来操作日期可能是最简单的。
(我使用moment.js,将矩日期时间对象转换为UTC,然后将矩对象.toArray
转换为迭代对象,以创建请求的DueDate和DueTime对象)