目标
我们的用户使用Google文档.他们写的文字将在他们使用文字转语音键入时读给他们.它应该在尽可能多的平台和浏览器中工作.
我们的方案
这似乎适合Google Apps脚本,适用于所有桌面浏览器和某些移动浏览器.
这有效
我们有一个文本转语音模块,效果很好,所以没问题.我们目前正在使用侧边栏.侧边栏可以使用HTML 5音频标签播放音频,无需任何问题.
问题
问题实际上是从Google文档文档中获取文本.到目前为止,我还没有找到任何方法直接从侧边栏访问Google文档文本.我们一直在做的是:
从用户在谷歌文档中输入文本到将更改同步到谷歌文档云时,需要一秒或更长时间.
我们计划了不同的步骤.文本转语音很快,HTML5音频也没问题.
该时间片是获得文本的变化.它目前需要1-3秒,这对我们的用例来说太长了.
题
我们可以更快地访问Google文档中的文字吗?也许直接而不是通过谷歌的云?
更新2017-02-15 目前看来它是不可能的.可以通过Chrome扩展程序执行此操作,它会解析Google文档主页并从HTML + JS中提取文本.这很难,但......可能.
javascript google-docs google-apps-script google-drive-realtime-api
在为谷歌文档列表API文档,似乎是说,你可以创建一个本地文件并上传.是否无法通过API 在 Google文档上实际创建和编辑文档?
我正在使用R进行数据分析,并通过Google文档与协作者共享一些数据.是否有一个简单的界面可用于从Google Docs电子表格访问R data.frame对象?如果没有,是否有其他语言的类似API?
我喜欢RGoogleDocs并且使用它很多.但是,我不喜欢一直输入密码.显然我可以在R脚本中输入密码,而不必再次输入密码.但这不可行,因为这意味着我的密码将在我的硬盘上保持未加密状态.此外,我与同事分享我的脚本.
为了解决这个问题,我提出了这个问题.
if(exists("ps")){
print("got password, keep going")
} else {
ps <-readline(prompt="get the password in ")
}
options(RCurlOptions = list(
capath = system.file("CurlSSL", "cacert.pem",
package = "RCurl"), ssl.verifypeer = FALSE)
)
sheets.con = getGoogleDocsConnection(
getGoogleAuth("notreal@gmail.com", ps, service ="wise"))
#WARNING: this would prevent curl from detecting a 'man in the middle' attack
ts2=getWorksheets("hpv type",sheets.con)
Run Code Online (Sandbox Code Playgroud)
我喜欢使用RStudio.当我看到办公室里的任何同事显示我的密码时,我感到很不舒服.我使用了假密码,但看看图像.
.此外,如果我保存了一个工作区,我的密码会随之保存,如果几个月之后,当我很久以前忘记了它的内容时,我担心我会把它交给别人,我发送了我的.RData向同事提交.
在Google电子表格中,可以向单元格添加超链接,如下所示:
=hyperlink("www.google.com", "search the web")
Run Code Online (Sandbox Code Playgroud)
这将显示文本搜索网络将链接到谷歌.但是,我想知道:
点击这里查看答案
新的Google文档用户界面采用了酷炫的灰色滚动条.

这些似乎是常规滚动条样式选择器::-webkit-scrollbar-thumb.哪个好看又方便.
但是,我无法显示箭头按钮(在屏幕截图上显示).Inspector不显示相应的DOM元素或任何特殊的CSS.那么问题是,这些自定义滚动条是如何制作的,包括箭头按钮?
请看看这个小提琴.
编辑:
所以似乎并非所有css规则都出现在Inspector中.
特别是,你需要::-webkit-scrollbar-button:vertical:decrement和::-webkit-scrollbar-button:vertical:increment,以及它们的horizontal等价物.
请参阅新小提琴(2012年4月27日更新).
我想从Google云端硬盘电子表格向某些REST服务发送HTTP请求.
这可能吗?
员工表包含单元格C2中员工的姓名.员工的姓名也应该在B3:B153范围内的数据表中.
如何在数据表中获取与员工姓名匹配的单元格的rownumber?
我尝试了以下脚本,但它似乎不起作用.
var Sheet = SpreadsheetApp.getActive();
var Employeesheet = Sheet.getSheetByName('Employee')
var DataSheet = Sheet.getSheetByName('Data');
var Column = Sheet.getRange(3,2,151,1);
var Values = column.getValues();
var Row = 0;
while ( Values[Row] && Values[Row][0] !=(EmployeeSheet.getRange(2,3,1,1).getValue()) ) {
Row++;
}
if ( Values[Row][0] === (EmployeeSheet.getRange(2,3,1,1).getValue()) )
return Row+1;
else
return -1;
}
Run Code Online (Sandbox Code Playgroud) 我需要在网页上嵌入Google文档电子表格,但它必须只是可编辑的单元格,而顶部没有Google导航和工具栏.
我无法找到用于在任何地方嵌入Google文档的查询字符串变量的引用,但似乎删除工具栏等的唯一方法是将"output = html"添加到查询字符串中.但是,这似乎是将它从可编辑的电子表格转换为不可编辑的电子表格,这就是问题所在.
任何人都可以建议如何操作下面的URL来生成只有单元格可见的可编辑文档(没有工具栏)?
https://docs.google.com/spreadsheet/ccc?key=0AngcQK0IFROwdHZySkUwd0JtY0N6Zk5RaTAyZDFVekE&widget=true
请注意,此URL不起作用 - 这只是一个示例.
谢谢!
我一直在编写自己的Javascript编辑器,其功能类似于Google Docs(允许多人同时处理它).有一点我不明白:
假设您已将用户A和用户B直接相互连接,网络延迟为10毫秒.我假设编辑器使用diff系统(据我理解Docs),其中编辑表示为"在索引3处插入'文本',并且差异被加时间戳并强制按时间顺序应用于所有客户端.
让我们从包含文本的文档开始:"xyz123"
用户A在时间戳001ms处在文档的开头键入"abc",而用户B在时间戳005ms处在"xyz"和"123"之间键入"hello".
两个用户都希望结果是:"abcxyzhello123",但考虑到网络延迟:
当然," abchello xyz123"与" abc xyz hello 123"不一样
除了字面上为每个角色分配自己的唯一ID之外,我无法想象Google将如何有效地解决这个问题.
我想到的一些可能性:
我正在阅读http://www.waveprotocol.org/whitepapers/operational-transform,但很想听到解决这个问题的所有方法.
algorithm editing google-docs collaborative-editing operational-transform
google-docs ×10
r ×2
algorithm ×1
api ×1
css ×1
editing ×1
embed ×1
hyperlink ×1
javascript ×1
passwords ×1
row-number ×1
rstudio ×1
scrollbar ×1
statistics ×1
styling ×1