HTTP请求在操场上无法在Google App脚本中使用

问题描述 投票:2回答:1

我基本上希望通过API请求从Google Cloud获取数据,然后将其发送到电子表格。

我不是真正的编码员,只是一位试图自动化所有事情的分析师。很抱歉,如果这是一个愚蠢的问题,或者不是首先要做的最好的主意。无论如何,这就是问题所在。

我使用https://developers.google.com/oauthplayground/来查看我从Google云端文件中可以获得什么,因为我对该文件只有只读访问权限。我想以某种方式获得Google Play数据的自动报告。

我使用“ https://www.googleapis.com/auth/devstorage.read_only”范围授权API,然后通过“令牌的Exchange授权代码”,然后可以查看元数据和文件本身:这给了我元数据: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 ...“]存储JSON API

但是我该如何通过API调用查看元数据?

我测试过的另一件事-我从运动场获取了访问令牌,而不是函数,然后一切正常。但我真的很想使它自动执行。关于范围吗?但是我不知道。

我基本上希望通过API请求从Google Cloud获取数据,然后将其发送到电子表格。我并不是真正的编码员,只是一位试图使所有事情自动化的分析师。抱歉,这是一个愚蠢的问题...

google-apps-script oauth-2.0 google-cloud-storage http-status-code-403 google-developers-console
1个回答
1
投票

403

© www.soinside.com 2019 - 2024. All rights reserved.