Google apps script UrlFetchApp.fetch()错误,不';似乎没有使用标题

Google apps script UrlFetchApp.fetch()错误,不';似乎没有使用标题,google-apps-script,http-headers,user-agent,http-status-code-403,urlfetch,Google Apps Script,Http Headers,User Agent,Http Status Code 403,Urlfetch,尝试使用谷歌应用程序脚本从网站获取数据,将其直接放入电子表格。fetch似乎不起作用,而Python请求的等价物工作得很好 Python代码: page=requests.get(“someurl?as_data_structure”,headers={'user-agent':'testagent'}) 气体代码: var page = UrlFetchApp.fetch("someurl?as_data_structure", headers={'user-agent':'testagen

尝试使用谷歌应用程序脚本从网站获取数据,将其直接放入电子表格。fetch似乎不起作用,而Python请求的等价物工作得很好

Python代码:

page=requests.get(“someurl?as_data_structure”,headers={'user-agent':'testagent'})
气体代码:

var page = UrlFetchApp.fetch("someurl?as_data_structure", headers={'user-agent':'testagent'});
唯一需要的头是用户代理,如果没有包含头,我从GAS代码中得到的错误通常是从Python代码中得到的。我是js新手,但据我所知,这是正确的方法

编辑: 现在将标题放在正确的位置,但问题仍然存在,错误与以前完全相同

var options = {"headers": {"User-Agent": "testagent"}};
var page = UrlFetchApp.fetch("someurl?as_data_structure", options);

标题属于以下选项:

var options = {"headers": {"User-Agent": "testagent"}};
var page = UrlFetchApp.fetch("someurl?as_data_structure", options);

谷歌并不总是透露它的限制(恼人?)。其中一个限制是更改用户代理。它是固定的

"User-Agent": "Mozilla/5.0 (compatible; Google-Apps-Script)"
你不能改变它

样本测试: 样本响应: 获取请求(url)

返回调用操作时将发出的请求

此方法实际上不会发出请求


它也不能准确地返回将要发出的请求。

@STUDLETON那么您可能需要更多的标题(这不是问题的一部分)。正如我所说,该网站不需要其他标题。GAS是否特别需要更多的标题?引用错误?错误:403禁止您没有访问/此服务器的权限。

(如果我不使用标题,这正是我在Python上得到的)啊,谢谢。我想使用电子表格上的一个按钮用这个网站上的数据更新电子表格,因为GAS有这个限制,所以它仍然可以实现我想要做的吗?@STUD。网站能提供没有这个标题的数据吗?也许,但这需要一些说服力。是否可以将燃气用户代理添加到网站中,与现有代理一起使用?如果这是可能的,它可能会被接受。@STUD如果你有管理员访问该网站,你可能可以。如果不是,并且需要这个头,那么您需要托管自己的服务器。向您的服务器发出请求>使用新的用户代理让您的服务器发出与新请求相同的请求。我不认为我会为它托管自己的服务器,这是一个小项目。我认识行政官tho,我也许能说服他。谢谢你的帮助:)
function testUrlFetchAppHeaders() {
  var options = {
    headers: {
      'User-Agent':
        'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36',
    },
  };
  var fakeRequest = UrlFetchApp.getRequest(
    'https://www.httpbin.org/headers',
    options
  );//providing fake assurance
  var realRequest = UrlFetchApp.fetch(
    'https://www.httpbin.org/headers',
    options
  );//like a wrecking ball
  Logger.log({ fake: fakeRequest, real: realRequest });
}
{
  "fake": {
    "headers": {
      "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
    },
    "method": "get",
    "payload": "",
    "followRedirects": true,
    "validateHttpsCertificates": true,
    "useIntranet": false,
    "contentType": null,
    "url": "https://www.httpbin.org/headers"
  },
  "real": {
    "headers": {
      "Accept-Encoding": "gzip,deflate,br",
      "Host": "www.httpbin.org",
      "User-Agent": "Mozilla/5.0 (compatible; Google-Apps-Script)"
    }
  }
}