Google 课堂(PHP 客户服务):创建具有截止日期但未设置截止时间的课程作业
Google Classroom (PHP Client Services): Create CourseWork with Due Date but No set Due Time
我一直致力于使用 Google PHP api 客户端服务库以编程方式创建 Google 课堂作业。我能够成功创建课程作业,使用:courses_courseWork->创建并传递课程作业对象。
但是,我似乎无法创建具有截止日期但没有截止时间的课程作业对象。没有截止日期的创建工作正常,但如果我只设置截止日期,它说还必须发送截止时间对象 ( Google_Service_Classroom_TimeOfDay )。我试过在不设置小时/分钟/秒/纳秒的情况下创建,我试过将它们设置为空,我试过在创建它后取消设置对象属性。
当我查看创建的 ClassWork 对象(通过 Web 界面,没有截止日期)时,dueTime 对象 属性 只是一个空数组。在使用 API.
创建时,我终究无法弄清楚如何传递它
谢谢!
您的问题有点陈旧,但如果其他人遇到此问题,如果您设置了截止日期,则必须 还设置截止时间。这是 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,将 moment datetime 对象转换为 UTC,然后转换 moment 对象 .toArray
,我对其进行迭代以创建请求的 dueDate 和 dueTime 对象)
我一直致力于使用 Google PHP api 客户端服务库以编程方式创建 Google 课堂作业。我能够成功创建课程作业,使用:courses_courseWork->创建并传递课程作业对象。
但是,我似乎无法创建具有截止日期但没有截止时间的课程作业对象。没有截止日期的创建工作正常,但如果我只设置截止日期,它说还必须发送截止时间对象 ( Google_Service_Classroom_TimeOfDay )。我试过在不设置小时/分钟/秒/纳秒的情况下创建,我试过将它们设置为空,我试过在创建它后取消设置对象属性。
当我查看创建的 ClassWork 对象(通过 Web 界面,没有截止日期)时,dueTime 对象 属性 只是一个空数组。在使用 API.
创建时,我终究无法弄清楚如何传递它谢谢!
您的问题有点陈旧,但如果其他人遇到此问题,如果您设置了截止日期,则必须 还设置截止时间。这是 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,将 moment datetime 对象转换为 UTC,然后转换 moment 对象 .toArray
,我对其进行迭代以创建请求的 dueDate 和 dueTime 对象)