google-apps-script - HTTP 请求在 Playground 上工作不适用于 Google App 脚本
问题描述
我想通过 API 请求从谷歌云获取数据,基本上是电子表格。
我不是一个真正的编码员,只是一个试图自动化一切的分析师。抱歉,如果这是一个愚蠢的问题,或者一开始就不是最好的主意。无论如何,这就是问题所在。
我使用https://developers.google.com/oauthplayground/看看我能从谷歌云文件中得到什么,因为我只是只读访问那里的文件。我想以某种方式获得自动报告的 Google Play 数据。
我使用“ https://www.googleapis.com/auth/devstorage.read_only ”范围授权 API ,然后通过“交换令牌授权代码”,然后我可以查看元数据和文件本身:这给了我元数据:
https ://www.googleapis.com/storage/v1/b/pubsite_prod_rev_0000000000000000/o/reviews%2Freviews_com.appid_201909.csv
添加“?generation=1569963312859248&alt=media”向我展示了csv的内容。
我想让它自动将数据放到最简单的地方,似乎把它放到电子表格中。所以我在 Google App 脚本中编写了一些代码。代码如下。我也在清单文件中添加了范围。
var token = ScriptApp.getOAuthToken();
var options = {};
options.headers = {"Authorization": "Bearer "+token};
var links = UrlFetchApp.fetch("https://www.googleapis.com/storage/v1/b/pubsite_prod_rev_0000000000000000/o/reviews%2Freviews_com.appid_201909.csv?generation=1569963312859248&alt=media" , options);
var data = links.getBlob().getDataAsString('utf-16le');
奇怪的是我可以完全正确地获取元数据,但是当我尝试获取数据本身时出现错误
“对https://www.googleapis.com的请求失败,返回代码 403。截断的服务器响应:“项目 10000000000000 未找到,不能用于 API 调用。如果是最近创建的,请访问https://c ...启用 Cloud Storage JSON API
但是我怎样才能通过我的 API 调用来查看元数据呢?
我测试的另一件事-我从操场上获取了访问令牌,而不是函数,然后一切正常。但我真的想让这个自动化。是关于范围的吗?但我不知道是什么。
解决方案
推荐阅读
- javascript - 检测到 Puppeteer 可能的 EventEmitter 内存泄漏。11 个退出侦听器添加到 [进程]
- python - 用于 bash 脚本的 Loguru 设置,用于与多个 Python 脚本一起使用
- python - 无法访问 JSON 属性
- javascript - 选择数据过滤器时如何显示项目
- java - Spring Data JPA:根据使用的 ManyToOne 字段过滤数据
- ios - 无法验证开发人员完整性,iOS 企业版
- asp.net-mvc - 提交按钮发送空白(无数据)数据 MVC ASP.Net
- mocha.js - 有没有办法将数字动态添加到摩卡的“it”块中?
- javascript - JQuery隐藏和显示具有相同类的div
- excel - Excel:如果单元格中的值与另一个选项卡上的列中的值匹配,我如何返回空白行上方的特定单元格?