Google课堂(PHP客户端服务):创建带有截止日期但未设置截止时间的CourseWork

时间:2019-02-23 03:57:56

标签: google-api google-classroom

我一直在使用Google PHP api客户端服务库以编程方式创建Google Classroom Classwork。我能够使用以下命令成功创建课程作业:courses_courseWork-> create,并传递课程对象。

但是,我似乎无法创建具有到期日但没有到期日的Course工作对象。没有截止日期的创建工作正常,但是如果我仅设置截止日期,则表示必须发送截止时间对象(Google_Service_Classroom_TimeOfDay)。我尝试创建时未设置小时/分钟/秒/毫微秒,尝试将它们设置为null,并尝试在创建对象后取消设置对象属性。

当我查看创建的ClassWork对象(通过Web界面,没有截止日期)时,dueTime对象属性只是一个空数组。我一辈子都无法弄清楚如何使用API​​进行创建。

谢谢!

1 个答案:

答案 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对象)