问题标签 [google-api-nodejs-client]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 上传后无法下载驱动器电子表格
我正在使用google node api。我正在尝试执行以下操作:
- 阅读 Google Drive 电子表格的内容
- 解释一些数据(我使用node-csv将 csv 转换为对象)
- 然后上传包含新内容的文件
我有可以完成所有这些工作的代码,我会在一分钟内分享它。
问题是当我在谷歌驱动器中创建它时,代码只能从谷歌驱动器读取电子表格文件,当我更新文件时它无法从 API 读取(在谷歌驱动器本身中工作)。所以上面列出的步骤有效,然后当我再次运行它时,更新的文件是“未找到”。请注意,我根本没有更改文件的 id。
这是一些代码,drive.files
正在csv
使用Promises Bluebird 的 promisifyAll()
函数进行处理,该函数将Async
promise 函数添加到库中。
这两个文件在管理员中的唯一真正区别是上传的文档没有额外的单元格,它只是包含已上传内容的单元格。
如果您认为这是权限问题,对吗?适用于谷歌驱动器,但不适用于 API。我也是这么想的。
需要明确的是,我可以使用drive.files.get
I just can't download the file itself using获取文件信息data.exportLinks['text/csv']
。
我在上传之前和之后检索了文件元数据,可读的可下载文件和不可下载的文件。这是这两个响应之间的差异。
我不确定这是我上传的方式有问题,还是我下载的方式有问题。
有一个下载链接,当我登录谷歌驱动器并将其放到浏览器中时,我可以下载该文件就好了。
尝试:
- 我只是尝试添加
options.media.mimeType = "application/vnd.google-apps.spreadsheet"
更新,认为将现有文档设置为text/csv
. - 尝试了同样的事情,
options.convert = false
认为它正在转换一个已经存在的文档。
更新:
如果我使用谷歌驱动器恢复文件,我可以再次读取文件。进步?文件内容/API 本身一定有问题吗?
代码更改:
我拆分insert
/update
函数并让它们在upload
.
node.js - node.js googleapis 库找不到模块'/node_modules/googleapis/apis/youtube/v3'
我正在使用官方的 Google API node.js 库来获取 YouTube 用户信息。我已经在另一个项目中正常工作了,但由于某种原因,我在这个项目中遇到了一个奇怪的错误。目标是获取范围为特定播放列表 ID 的视频列表。
我正在使用 Mithril.js 和咖啡脚本。这是相关的片段:
谷歌客户端加载正常,但在这一行:
我收到以下错误:
未捕获的错误:无法加载端点 youtube(“v3”):找不到模块'/node_modules/googleapis/apis/youtube/v3'
我在相邻目录的同一台计算机上的另一个项目中使用了完全相同的代码。他们都使用相同版本的 googleapis(我将工作文件夹复制到这个项目只是为了更加确定)。
我尝试使用其他一些客户端端点来执行此操作,例如使用示例。它们都不起作用。所以它一定是某种路径变量?
node.js - 使用带有 webpack 的 google-api-nodejs-client 构建 grunt 时出错
我在 ReactJS Webpack 应用程序中使用https://www.npmjs.com/package/googleapis 。它确实有一个警告,它是一个 alpha 版本,所以会出现问题,这就是我遇到的问题。
npm install googleapis --save
安装googleapis
好,添加"googleapis": "^2.0.2"
到我的 package.json 中,但是当我运行时,grunt build
我收到以下警告(随后有很多错误,我会根据要求发布,因为它是很多文本):
中的违规行~/googleapis/apis/index.js
是:
我遇到的错误之一:
在我的 React 组件中需要 googleapis 的代码:
注意:可以根据要求提供组件中的任何其他代码,但我认为它与此问题无关。
我的package.json
依赖:
npm 版本 2.5.1
节点版本 v0.12.1
提前感谢您的帮助!
google-api - Google Batch 权限请求返回成功,但未授予用户权限
我必须使用 Drive REST API 为单个文件夹创建多个用户权限。如果我为每个用户连续请求(多个)(因为不推荐使用 Document List API batchACL),它会为每个用户返回 permissionIds,但大多数时候只有一个用户授予了权限。这导致我的应用程序出现错误。我搬到了谷歌批量请求,我的请求 postBody 是这样生成的,
它以 200 返回成功,响应正文是这样的,
但没有授予任何用户权限。根据 Google 文档,响应正文不应该这样。有人可以帮我找到问题或使用“google-api-nodejs-client”执行相同的批处理请求的任何指导吗?
node.js - 仅使用访问令牌使用 Google API 发送电子邮件
我想通过 Google API 发送一封没有不必要 OAUTH2 参数的电子邮件。我只有那个用户的 access_token 和 refresh_token。
如何使用 Request npm 插件通过 NodeJS 中的基本 POST 请求通过 Gmail API 发送电子邮件?
node.js - 仅对一位用户进行 Google API 调用
我正在编写一个内部应用程序,我们正在 Express/node 中使用一些 Google API。
由于我只打算使用一个谷歌帐户(我为此目的而制作的一封电子邮件),所以最好的身份验证配置是什么?
node.js - 如何刷新 Google Analytics Reporting API v3 的访问令牌
因此,我正在开发一个 Node.js 应用程序,该应用程序将x
在几秒钟内轮询 Google Analytics api。我已经设置了一个“服务帐户”,并将p12
密钥转换为.pem
文件。初始设置如下所示:
我没有意识到初始令牌的有效期为 1 小时;但是我收到的令牌如下所示:
我的问题是,一旦我收到该401 invalidCredentials
错误,我是否只是重新授权以获取新的访问令牌以便能够从 Google Analytics 进行轮询?我是 JWT 的新手,这似乎会授权太多次。这有限制吗?
作为参考,我使用的是Google API Node.js 客户端库
node.js - 使用 google-api-nodejs-client 正文的 Gmail API
我正在尝试以这种方式使用 google-api-nodejs-client 创建测试草稿
问题是正在创建的消息包含此正文
创建的消息有问题吗?或者该方法是否使用其他参数作为主体?
node.js - 如何以 CSV 格式从 Google Play 开发控制台导出统计信息?
我想导出 Google Play Developer Console 中的所有 CSV,但在 Google Play Developer API 中没有执行此操作的功能。
我可以使用哪种方法来获取所有 CSV?
google-api-nodejs-client - Prediction request end up with "invalid data" errors
I get errors when posting prediction requests, but when posting the same requests from the online interface (from Google's API reference page) works well. I have also posted a new issue on the Git repository, but it seems that no-one even looks at these issues. How lame of Google !!
Well I am posting predict request, which look like this:
And I get this:
To clarify: my trained model contains a value and two textual features. Again, when running this from the online tool (client side) it works well, only when I run it from my node.js server, does it fail.
What's up with that? Anyone knows? Could this be some encoding issue? request headers?
EDIT:
this is how i authenticate :