【发布时间】:2015-09-11 20:30:49
【问题描述】:
我们拥有的每门课程都有一个内部数据库 ID。使用批处理功能创建课程时,返回的信息没有给我们任何方法来获取此 ID,因此我们无法更新我们的数据库并让它知道课程已创建。
出于同样的原因更新删除响应也会很方便。
一批删除的响应如下:
--batch_123456
{}
--batch_123456
--batch_123456
{}
--batch_123456
--batch_123456
{}
--batch_123456
如果他们都成功了,那不是问题,但是如果出了问题,就无法分辨哪些被删除了,哪些没有被删除,因为根据 API:
" 服务器可以按任何顺序执行您的调用。不要指望它们按照您指定的顺序执行。"
一条简单的消息说“课程 #123 已被删除”会很有帮助。这样我就可以编写回调代码来使用 ID 更新数据库
对于课程创建,响应如下所示:
--batch_123456
{
"id": "208571459",
"name": "***",
"section": "***",
"ownerId": "123456",
"creationTime": "2015-09-14T13:13:59.622Z",
"updateTime": "2015-09-14T13:14:02.820Z",
"enrollmentCode": "***",
"courseState": "PROVISIONED",
"alternateLink": "***"
}
--batch_123456
我只回复一个以节省空间。 ID 是课程的新 GoogleID,我们实际发送的与我们数据库中的记录相对应的 ID 不会被返回。所以我们必须使用其他数据的组合(ownerID + name)来获取记录并更新它,但这并不理想,可能并不适合所有人。再次添加发送到响应中的所有信息将非常有帮助,因此我们可以正确使用回调。
我还想添加更有用的具体信息也应该添加到所有错误消息中。事实上,每个批处理响应都应该有某种 ID,这样回调函数会更有用。
【问题讨论】:
-
你能分享一个你从批处理操作中得到的响应示例吗?
-
更好的是,分享您的代码。在不知道自己在做什么的情况下很难排除故障。
-
嘿,Jay,API 工作正常,我要求更新 API,不是帮助解决问题,但非常感谢提供帮助。
-
只是为了澄清一下,在提出创建课程的请求时,您发送的是您在数据库中生成的 ID,对吗?并且,您是否在 id 字段中发送此 ID? o 你是怎么寄的?
标签: google-classroom