我开始在 Python 中探索 Google Docs API。除了一件事之外,它几乎可以完成我想要它做的所有事情。
我可以替换文档的文本,但无法更改超链接的值。
意思是如果链接看起来像这样:一个链接,我可以更改文本的值,a link但不能更改目标 URL。
我一直在浏览文档,但我找不到任何关于它的信息。它可能是一个缺失的功能还是我错过了这样做的方法?
我有一个包含远程加载和在 Google Drive 中创建的图像的 blob:
var response = UrlFetchApp.fetch(fileURL);
var fileBlob = response.getBlob();
var folder = DriveApp.getFolderById('THjgj698979XXXXXXXX');
var result = folder.createFile(fileBlob);
Run Code Online (Sandbox Code Playgroud)
我想要的是调整此 fileBlob 中包含的图像的大小。我怎样才能做到这一点?
供您参考,一篇可以帮助但最终并没有真正帮助我的帖子:(解释了如何调整图像大小,而不是如何调整 blob 中的图像大小) 在 Google Apps 脚本中调整图像大小
谢谢
编辑 :
这就是我现在所做的。但是我遇到了一个问题:图像被缩小了,但不是我指定的尺寸......
var response = UrlFetchApp.fetch(fileURL);
var fileBlob = response.getBlob();
var folder = DriveApp.getFolderById('THjgj698979XXXXXXXX');
var docfile = Drive.Files.insert({
title: "temp",
mimeType: "application/vnd.google-apps.document",
}).getId();
var blobImage = DocumentApp.openById(docfile).insertImage(0, fileBlob);
blobImage.setWidth(10);
blobImage.setHeight(10);
var fileBlob2 = blobImage.getBlob();
fileBlob2.setName(newFilename);
var result = folder.createFile(fileBlob2);
Run Code Online (Sandbox Code Playgroud)
图像从 4000x6000 缩小到 2500x1667。不是 10x10 :(
你知道如何解决这个问题吗?
谢谢 …
google-app-engine google-apps google-docs-api google-apps-script google-sheets-api
我正在尝试将 Google Drive 集成到我的 angular 应用程序中,以便我们的用户可以从文档中复制内容并将他们的图像下载到我的应用程序中。根据file:get API Documentation,我使用下面的代码来获取文件
var request = gapi.client.drive.files.get({
'fileId': fileId
});
var temp = this;
request.execute(function (resp) {
});
Run Code Online (Sandbox Code Playgroud)
但在响应中,我只得到文件名和 ID。downloadFile 函数不需要下载 URL。回复:
{kind: "drive#file",
id: "1KxxxxxxxxxxxxxxycMcfp8YWH2I",
name: " Report-November",
mimeType: "application/vnd.google-apps.spreadsheet",
result:{
kind: "drive#file"
id: "1K7DxawpFz_xiEpxxxxxxxblfp8YWH2I"
name: " Report-November"
mimeType: "application/vnd.google-apps.spreadsheet"
}
}
Run Code Online (Sandbox Code Playgroud)
下载文件功能:
/**
* Download a file's content.
*
* @param {File} file Drive File instance.
* @param {Function} callback Function to call when the request is complete.
*/
downloadFile(file, callback) …Run Code Online (Sandbox Code Playgroud) 我在Zend Gdata库中遇到了一个新问题,我经常收到此错误:
Fatal error: Uncaught exception 'Zend_Gdata_App_HttpException' with message 'Unable to Connect to ssl://spreadsheets.google.com:443. Error #110: Connection timed out'
Run Code Online (Sandbox Code Playgroud)
我没有更改任何代码,我已经成功使用相同的代码很长一段时间了.我觉得更奇怪的是,如果我把代码从我的域名(www.mattblubaugh.com),我把它复制到我的其他的领域之一(www.ryanemiller.com/external/mattblubaugh)我没有遇到超时.此外,第二个域使用相同的Zend Gdata库来提取其大部分内容.那里没有问题.
我搜索谷歌并且遇到了很多人抱怨这个问题,但大多数都来自一年多以前.
还有其他人遇到过这个问题吗?
[编辑10:02 pm]
我已经通过WAMP在本地尝试了文件,没有任何问题.有问题的主机是inmotionhosting.有没有其他人有这个主机,你最近遇到过超时问题?
使用这个API怎么样?
developers.google.com/google-apps/documents-list
它似乎能够访问修订历史记录Feed.
但这些例子都在.NET中.如何在Google Apps脚本中应用/使用此API?任何人都知道如何并且可以解决一些问题 也许一个简短的示例代码?
谢谢.
我正在尝试使用带有Python + Django和OAuth 2的Google Docs API.我通过google-api-python-client获得了OAuth访问令牌,其代码基本上是从http:// code复制的. google.com/p/google-api-python-client/source/browse/samples/django_sample/plus/views.py
现在,我假设我应该使用谷歌gdata API,v 2.0.17.如果是这样,我无法确切地找到如何授权使用gdata客户端进行的查询.http://packages.python.org/gdata/docs/auth.html#upgrading-to-an-access-token(无论如何看似过时)的文档说,将客户端上的auth_token属性设置为实例gdata.oauth.OAuthToken.如果是这种情况,我应该将哪些参数传递给OAuthToken?
简而言之,我正在寻找一个关于如何在给定OAuth访问令牌的情况下授权使用gdata API进行查询的简短示例.
我想知道是否有任何方法(阅读:hacks)使用Google Spreadsheet API,并没有强制限制将标题行中的值设置为小写而没有空格.我知道我可以使用基于单元格的Feed,但是我的应用程序必须跟踪哪个列号对应于特定列名称.
有没有人有另类手段?
(另外我注意到Google Spreadsheet API Docs没有提到标题行名称限制,我不得不四处搜索,找出我的代码最初没有工作的原因)
Google 文档不允许像其他文本编辑器一样使用搜索和替换来删除多余的空格。任何人都可以帮助使用 Google Apps 脚本搜索文档以查找两个或多个空格的所有实例并将它们替换为单个空格吗?
我注意到 Google Apps 脚本编辑器使用不记名令牌来请求很多东西,这让我想到:是否可以在您自己的服务器上使用 Google API 执行使用 Google Apps 脚本完成的所有功能?本质区别是什么?只是谷歌应用程序脚本在谷歌服务器上运行,而使用谷歌 API 你需要创建自己的服务器吗?
例如,我认为只能使用 API 完成的许多文档功能可以在这里找到https://developers.google.com/docs/api/reference/rest/v1/documents/request#InsertInlineImageRequest
那么本质区别是什么?
将 Google Docs/Drive API 与 Node 结合使用,我成功创建了一个服务,该服务生成“模板”样式文档,其中包含 namedRanges 供其他用户写入。我想使用 Google Docs API 来读取在这些范围内输入的文本,但看不到一种干净的方法。鉴于我有每个范围的开始和结束索引,我认为这将非常简单!不幸的是,我看不到任何内置的方法?
目前看起来我将不得不请求整个谷歌文档,并且对于我正在观看的每个范围,比较每个节点的开始/结束索引并递归遍历树直到它们匹配。没有更好的方法来做到这一点吗?
干杯
编辑:
下面 Tanaike 的解决方案更简洁,但我已经有一个版本可以在我的 Firebase 函数上运行,所以我想我不妨分享一下。此代码检索具有给定 ID 的 Google 文档,并将 namedRanges 的内容作为字符串存储在 Firebase 实时数据库中,通过“BBCode”样式标签保持图像和表格完整无缺。下面的相关代码(请注意,我知道每个 namedRange 都在表格单元格内,这使得查找它们更容易):
async function StoreResponses(oauth2Client, numSections, documentId, meetingId, revisionId, roomId)
{
var gdocsApi = google.docs({version: 'v1', auth: oauth2Client});
return gdocsApi.documents.get({ "documentId": documentId })
.then((document) => {
var ranges = document.data.namedRanges;
var docContent = document.data.body.content;
var toStore = [];
for(var i = 0; i < numSections; i++)
{
var range = ranges[`zoomsense_section_${i}`].namedRanges[0].ranges[0] …Run Code Online (Sandbox Code Playgroud) google-docs-api ×10
google-docs ×2
google-api ×1
google-apps ×1
google-oauth ×1
named-ranges ×1
node.js ×1
oauth-2.0 ×1
php ×1
python ×1
zend-gdata ×1