我无法使用带有文档的应用程序脚本以编程方式创建锚定到Google文档中特定文本的注释.
有关如何使用Google Drive API创建锚定评论的Google文档:https: //developers.google.com/drive/web/manage-comments
以下是我在doc中创建注释的代码:
Drive.Comments.insert({
"kind": "drive#comment",
"author": {
"kind": "drive#user",
"displayName": USER_EMAIL,
"isAuthenticatedUser": true,
},
"content": CONTENT,
"status": "open",
"anchor": "{'r':"
+ REVISION_ID
+ ",'a':[{'txt':{'o':"
+ STARTING_OFFSET
+ ",'l':"
+ OFFSET_LENGTH
+ ",'ml':"
+ TOTAL_CHARS
+ "}}]}",
"fileId": FILE_ID
}, FILE_ID);
/* USER_EMAIL, CONTENT, REVISION_ID, FILE_ID: string,
STARTING_OFFSET, OFFSET_LENGTH, TOTAL_CHARS: int */
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我试图创建一个文本锚点到文档中对应于STARTING_OFFSET和的特定字符OFFSET_LENGTH.
目前,此代码会创建一个可在Google文档中访问的评论; 但是,它并不固定在文档中的任何文本上,这对于预期目的是必要的.
我已确保使用当前版本ID(因为这可能会导致问题,如Google文档中所述).
任何建议都非常感谢,如果任何人可以发布或指向以编程方式在Google Docs中创建锚定评论的示例,我将非常感激.
提前致谢!
google-docs google-docs-api google-apps-script google-drive-api
在它提到的开发网站上查看 Google Drive 文档以获取评论时
锚; 细绳; 以 JSON 字符串表示的文档区域。有关如何定义和解释锚点属性的详细信息,请参阅锚点文档。
然而,在哪里anchor documentation?
我有一个带有三张幻灯片的谷歌幻灯片台,我想为每张幻灯片添加评论。我可以使用 for 循环到达幻灯片(工作表中的总行数与幻灯片总数相同,我使用的幻灯片是第二张幻灯片以后。所以我的循环没有问题)
// open the slide using slide id
var s=SlidesApp.openById(a.getId())
for(let r=2; r<=4; r++){
// get the current slide
var currentSlide=s.getSlides()[r-1];
var fileId = currentSlide.getObjectId();
var slideUrl = a.getUrl()+"#slide=id."+fileId;
var slideId = getIdFromUrl(slideUrl);
var comment = {'content':'hi'};
Drive.Comments.insert(comment, slideId);
}
function getIdFromUrl(url) { return url.match(/[-\w]{25,}/); }
Run Code Online (Sandbox Code Playgroud)
此代码有效,但它将注释添加到文件而不是单个幻灯片中。(*注意 - 要使此代码正常工作,我们必须在应用程序脚本中的服务中启用云端硬盘。)如何将评论添加到各个幻灯片。
google-docs ×1