Google API返回响应200空JSON

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

我正在尝试向Google Apps脚本脚本中的Google Street View Publish API发出HTTP GET请求,以获取照片列表并将有关它们的元数据保存到Google电子表格中。

我在脚本上用于联系API的代码:

var url = 'https://streetviewpublish.googleapis.com/v1/photos?fields=nextPageToken%2Cphotos&key=' + API_KEY;

var response = UrlFetchApp.fetch(url, {
    muteHttpExceptions: true,
    headers: {
        //the accessToken is borrowed from the Apps Script Infrastructure `ScriptApp.getOAuthToken()`
        //source: https://www.youtube.com/watch?v=aP6pxK3jexc
        Authorization: 'Bearer ' + ScriptApp.getOAuthToken()
    }
});
console.log('API response:\n' + response);

并且在脚本的清单oauthscopes.json文件中包括街景验证:

...
"oauthScopes": [
  "https://www.googleapis.com/auth/streetviewpublish", 
  "https://www.googleapis.com/auth/script.external_request", 
  "https://www.googleapis.com/auth/spreadsheets"
]
...

[使用基于时间的触发器每15分钟运行一次脚本,并且已经工作了好几个小时,然后返回一个JSON对象,其中包含帐户中的照片,直到API停止返回为止一个响应,现在它只是返回一个空的JSON对象{}

我不认为我消耗了API使用的报价,我在GCP仪表板上的编号如下:

Quote Numbers 1

Quote Numbers 2

试图创建另一个API KEY并在脚本中使用它,但还是没有运气。

[另外,当尝试从Google APIs Explorer测试API,进行授权并执行时,它也为我提供了带有空JSON对象的响应代码200。以前一直在工作,但是现在不行了!

这里可能是什么问题?


编辑:

根据评论的建议,我试图:

  • 使用或不使用API​​密钥和其他参数调用API端点,如下所示:

https://streetviewpublish.googleapis.com/v1/photos?fields=nextPageToken%2Cphotos&key=' + API_KEY

https://streetviewpublish.googleapis.com/v1/photos?key=' + API_KEY

https://streetviewpublish.googleapis.com/v1/photos

  • 此外,还尝试从account security checkup撤消对Google APIs Explorer和Google Apps脚本中脚本的访问。由于这个原因,当尝试再次运行它时,它打开了一个弹出窗口,再次询问授权/权限,这也是我授予的。

  • 试图退出Google帐户并清除浏览器的缓存。

但是,仍然是相同的空JSON对象响应!


编辑2:

  • 也于2天前停止了脚本的基于时间的触发器,仍然没有运气!
google-apps-script google-cloud-platform google-api google-street-view google-streetview-publish
1个回答
0
投票

文档说pageSize默认为100。情况并非如此。如果指定pageSize参数,它将返回带有照片的响应。

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