从Google Drive API获取操作项列表。

7


大家好。

我一直在尝试使用Spring Boot和google-api-services-drive获取在我们公司域中所有文件(文档或电子表格)中分配的任务清单,但是我遇到了一些问题:

  • 看起来API里没有关于任务清单的内容。
  • 评论是我能够接近的最近的内容,但它们不包括任务清单信息。它们只有被提及人的电子邮件地址。
  • 文档看起来很宽泛而不精确。例如,在这里,他们说文件资源包括一个indexableText属性,但它不存在于响应中。
  • 此处所述,您可以应用查询以获取带有操作项的文件。为什么响应中不提供fullText字段或其他等效属性以查看实际内容并将其用作解决方案以获取操作项?

我只需知道该任务的指派人员来自评论中。

有什么想法吗?

1个回答

3

使用评论:列表指定fieldscomments/replies/action来检索操作项

我同意您的看法,这并不直观,但是有一种方法可以检索包括操作项在内的完整评论内容。

  1. 使用文件:列表,将q指定为fullText contains 'followup:actionitems',就像您提到的帖子中一样

  2. 对于每个检索到的项目,使用fileId调用方法评论:列表

  3. 为了更好地理解,首先将Comments:listfields指定为* - 这将返回以下完整响应:
{
 "kind": "drive#commentList",
 "comments": [
  {
   "kind": "drive#comment",
   "id": "AAAAGlyxwAg",
   "createdTime": "2020-06-08T09:04:34.907Z",
   "modifiedTime": "2020-06-08T09:05:07.279Z",
   "author": {
    "kind": "drive#user",
    "displayName": "XXX",
    "photoLink": "//ssl.gstatic.com/s2/profiles/images/silhouette96.png",
    "me": true
   },
   "htmlContent": "+\u003ca href=\"mailto:YYY@YYY.com\" data-rawHref=\"mailto:YYY@YYY.com\" target=\"_blank\"\u003eYYY@YYY.com\u003c/a\u003e Could you please check the spelling?",
   "content": "+YYY@YYY.com Could you please check the spelling?",
   "deleted": false,
   "resolved": true,
   "quotedFileContent": {
    "mimeType": "text/html",
    "value": "Hello"
   },
   "anchor": "kix.94ksxclyqix",
   "replies": [
    {
     "kind": "drive#reply",
     "id": "AAAAGlyxwAo",
     "createdTime": "2020-06-08T09:05:02.999Z",
     "modifiedTime": "2020-06-08T09:05:02.999Z",
     "author": {
      "kind": "drive#user",
      "displayName": "YYY",
      "photoLink": "//ssl.gstatic.com/s2/profiles/images/silhouette96.png",
      "me": false
     },
     "htmlContent": "Will do!",
     "content": "Will do!",
     "deleted": false
    },
    {
     "kind": "drive#reply",
     "id": "AAAAGlyxwAs",
     "createdTime": "2020-06-08T09:05:07.279Z",
     "modifiedTime": "2020-06-08T09:05:07.279Z",
     "author": {
      "kind": "drive#user",
      "displayName": "YYY",
      "photoLink": "//ssl.gstatic.com/s2/profiles/images/silhouette96.png",
      "me": false
     },
     "deleted": false,
     "action": "resolve"
    }
   ]
  }
 ]
}

这个响应包含以下信息:

  • 引用的文件内容(评论所指的文本)
  • 最初评论和回复的内容
  • 被分配评论的用户
  • 用户的回复,包括其用户名
  • 最后,用户采取的行动

  1. 现在,如果您只对操作感兴趣而不是全部字段,您可以看到action是嵌套在comments/replies中的资源
  2. 要查询action,请用comments/replies/action替换fields中的*

至于您关于indexableText的问题,文档指定它是contentHints的属性,并且

contentHints
文件内容的附加信息。
这些字段在响应中从未被填充。

使indexableText“有用”的一种方法是,例如在查询中应用它:

Files:list,并使用qfullText contains 'indexableText'

好消息是,如果您不满意当前检索操作的实现方式,并且可以想出更好的方法来实现它,您可以在Google的公共问题跟踪器上提出功能请求。如果足够多的用户对该功能表现出兴趣,Google可能会在未来实现它。


非常感谢,但我不确定这是否是我想要的。当您在Google Drive文件中创建评论并使用“+name@domain”提到某人时,您可以选择将操作项分配给您提到的人之一。如果这样做,该人将负责解决评论。很抱歉,但我在您分享的API响应中没有看到这一点。无论如何,我会仔细再次查看API。谢谢你的时间! - Nico Jones
这适用于不止一个人,你不会知道谁是被指定的人。你可能需要提交一个功能请求来询问Google提供此信息。 - ziganotschka
是的,看起来是这样。谢谢您澄清了这一点! - Nico Jones

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接