如何标记使用Google Drive comment API解决的评论



我在一个外部应用程序中为Google Drive管理数百条评论。我想使用Google Drive API将此应用程序中的注释标记为已完成。

我根据Google Drive文档尝试过这一点,该文档在主题上有点模糊:

https://developers.google.com/drive/api/v2/reference/comments/update

service.activity().query(body = {'pageSize': 10, 'filter' : "detail.action_detail_case:COMMENT"}).execute()
comment = drive2.comments().get(filedId='abc', commentId='def')
comment['status'] = 'resolved'
drive2.comments().update(filedId='abc', commentId='def', body=comment).execute()

但这并不会改变状态,也不会导致错误。

有人知道如何做到这一点吗?

请注意,我也尝试过API的v3,但它们似乎一起从API中删除了"状态"。

您不能直接更改注释的resolved状态。这在comments资源文档中进行了解释:

此注释的状态。可以通过发布具有所需状态的评论回复来更改状态。"打开"-评论仍然开放。"决议"-该评论已通过其中一条回复得到解决

您可以看到;Notes";列说明字段是否可写。";"状态";字段未标记为可写,因此如果它存在,API将返回它,但您无法编辑它。如说明中所述,注释由其replies解析。

如果您查看replies对象文档,您会发现verb字段处理以下内容:

此回复对父注释执行的操作。创建新回复时,这是要对父注释执行的操作。可能的值有:

  • "决议"-解决注释
  • "重新打开"-重新打开(取消解析(注释

本质上,这意味着要解决评论,必须使用"verb" = "resolve"发布新的回复。在你的情况下,你可以发布一个标准的回复,用CCD_;此评论已被解决";然后添加已解析的CCD_ 8属性。

v3 API:v3 API更改了名称,但功能保持不变。这里status变成了resolved,它是一个布尔值,但它仍然不可编辑。现在回复有一个action属性,您可以将其设置为resolvereopen,因此您必须发布一个具有"action" = "resolve"的回复。IMO更加清晰了,而且您可能无论如何都想使用v3 API。

来源:

  • Comments对象v2引用
  • Comments对象v3引用
  • 答复对象v2引用
  • 答复对象v3引用

最新更新