Authentication 403使用正确登录/通过谷歌脚本访问网站被拒绝

Authentication 403使用正确登录/通过谷歌脚本访问网站被拒绝,authentication,google-apps-script,authorization,Authentication,Google Apps Script,Authorization,这是我尝试使用的代码的一部分,为了自动从网站导出数据,我有正确的登录名和密码,能够手动下载json格式的文件(用xsl打开),我在开发者工具的网络中获得了下载文件的地址,但是我在第一阶段遇到了一个问题——当我试图授权访问该网站时——访问被拒绝。我已经尝试了stackoverflow上的答案中给出的代码,但仍然不起作用。如何正确发出url获取请求,取决于您要访问的网站和他们使用的身份验证 在最简单的情况下,您的网站需要HTTP基本身份验证,在这种情况下,正确的语法是 var url = "http

这是我尝试使用的代码的一部分,为了自动从网站导出数据,我有正确的登录名和密码,能够手动下载json格式的文件(用xsl打开),我在开发者工具的网络中获得了下载文件的地址,但是我在第一阶段遇到了一个问题——当我试图授权访问该网站时——访问被拒绝。我已经尝试了stackoverflow上的答案中给出的代码,但仍然不起作用。

如何正确发出url获取请求,取决于您要访问的网站和他们使用的身份验证 在最简单的情况下,您的网站需要HTTP基本身份验证,在这种情况下,正确的语法是

var url = "https://web-site_name/page/?format=json&var_data-organization_dates&xlsexport=true";

   var payload =
   {
     "login" : "login",
     "password" : "pass",
   };

  var options =
   {
     "method" : "post",
     "payload" : payload,
     "followRedirects" : false
   };

  var login = UrlFetchApp.fetch("https://web-site_name/page/" , options);
  var sessionDetails = login.getAllHeaders()['Set-Cookie'];
  Logger.log(login.getAllHeaders());
  • 如果您的网站使用不同的身份验证表单,则可能需要提供访问令牌

  • 在任何情况下:身份验证凭据进入
    标题
    ,而不是进入
    有效负载

  • payload
    是要发布=上载到网站的数据

  • 如果您希望从网站导出数据(即下载数据),则不需要
    有效负载
    ,正确的方法是
    get
    ,而不是
    post
    。顺便说一句,如果方法是
    get
    ,则不需要指定它

有关更多信息和样品,请参阅

var authHeader = 'Basic ' + Utilities.base64Encode(login + ':' + pass);
var options = {
  headers: {Authorization: authHeader}
}