我几个月前创建了一个脚本来发布我在Google教室中学生的作业。代码如下
await ctx.send(f"{random.choice(messages).content}")
我在其中放置XXXXXXXXXXX的地方是课程ID。 该脚本将附加到包含标题,作者和youtube链接的3列电子表格中,并且分配是作为链接附加到资料的这些视频之一。该脚本应该每天上午9:00在3个YouTube视频中的3种不同的材料中发布,并在电子表格的列表中排行
当我尝试执行称为pubblicavideo的功能时,
GoogleJsonResponseException:Chiamata API教室.courses.courseWork.create非合法错误:'course_work.description'(TYPE_STRING)的值无效,883(riga 69,文件“ Codice”)
我认为英语翻译类似
GoogleJsonResponseException:对课堂.courses.courseWork.create的API调用无法正常工作并出现错误:“ course_work.description”(TYPE_STRING)的值无效,883(第69行,文件“代码”)
这个脚本在8月13日之前运行良好。我不知道Google课堂脚本是否有任何更改。
任何人都知道如何使其重新工作吗?
答案 0 :(得分:1)
问题似乎在于,在某些时候,从autorini.getCell(k, 1).getValue()
获得的值的类型不是引起错误的字符串。
在pubblicavideo()
中,在传递了变量pubblica()
的循环内调用函数contarighe
。对于每次运行k
,此值将放入pubblica
中。
这些是有问题的行:
var autorini = foglio.getRange("A709:A3014");
var cello = autorini.getCell(k, 1);
var autore = cello.getValue();
向autore
发出请求之前,您需要检查Classroom.Courses.CourseWork.create()
的值。
As per the documentation在CourseWork
资源上,description
的值应为String
类型。
在创建课程作业对象时:
var courseWork = {
'title': titolo,
'description': autore,
'materials': [
{'link': { "url": link}}
],
'workType': 'ASSIGNMENT',
'state': 'PUBLISHED',
}
autore
的值必须反映这一点。确保在循环中的任何位置停止代码,工作表的值都是String类型,并且可以正确检索。
我希望这对您有帮助!