【问题标题】:is there any way to fetch cors protected api in google app script有什么方法可以在谷歌应用脚​​本中获取 cors 保护的 api
【发布时间】:2022-12-20 02:06:22
【问题描述】:

我正在尝试获取在谷歌脚本中受 cors 保护的 api 但是当我尝试它不会获取任何它只是加载加载和超时

这是我的代码

function myFunction() { 
 var opt ={
    "method":"GET",
   "user-agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1",
    "accept-language": "en-US,en;q=0.9",    
    "followRedirects": false,
   'muteHttpExceptions': true,
   'accept-encoding': 'gzip, deflate, br',
   'cookie': '_gid=GA1.2.188967080.1668968635; nseQuoteSymbols=[{"symbol":"NIFTY","identifier":"FUTIDXNIFTY24-11-2022XX0.00","type":"equity"}]; _ga=GA1.1.753386304.1667588874; AKA_A2=A; nsit=rU4hZ33yI2F82dXwkJ-o8Y2-; nseappid=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhcGkubnNlIiwiYXVkIjoiYXBpLm5zZSIsImlhdCI6MTY2OTA0MzUxOCwiZXhwIjoxNjY5MDQ3MTE4fQ.plLtltT9TyR8IGoUyjeXeOo2l6srioCF_8DC0uG-P7s; bm_mi=2AFC42F7F039C7FF8176F96984ED6B74~YAAQN0YDFxplTICEAQAAcPy+mhF30iMx0dHIGMjV5v9+cAoyqsT3nihC92fAyAlJiTENTDZ2ZkFMjveBygSXTlpFnOcmapEiYFXk3ddQQYBY+Kz1cmtwKVF7pOYWwv6I/Lr0SOKqzKU3IeSVoRiTjIYFdsC8rKR8SA22xmxskC729+X6fSM7L/9yKlld/Ie1fAgG+gCWoBcK/UazfvY7FIhlzWqpd2zL4IU8tDkbZ/djNZwDi2A2xFcq4aLVbviTqfzgDnTYxhrdjAgHVWuQ1Vj8GsAwAM8ZzGawtTsXEXe35l8mCK9gt3r2K7x6MDz3~1; ak_bmsc=695E6827BCD153E89F719653ECF32A78~000000000000000000000000000000~YAAQN0YDF35lTICEAQAAagi/mhGZVNGhWCiPANwXFrka9eehlq4zYzwHDcAPZECJD7hSCoBaZB5Qty4J4Xyqk3C7DnjBxgyYUhY7fv7YqK7O615QNjhXp3eJARMMXGll4hklD1OFDay5ut8KRF5Yq5TCVw4D9pPJhwilbkTs4gr4wpP+ZyCTyxgLBxbWM+6wJgyd/A+4EFBe83PkpbaOHYa8z4hK7qKU+qgnn3X+5/G0yRFele9awkxV/j6pxxXcU+hHZ31awxbOEWRZZTDT9NjGaWEIY5NAFedl3BPMAi5Cte701km0SxQvCBj+M/e3BVcZZdUVFYrB5ck1mJhV40o62bAsSyoky2mYZ2eaVycPJuUudse5L/IjAzbk+vKWb7byqLEsglnpR/fjjCE7PrIh1vccBOcr; bm_sv=46C61EC672300FE4B4927990D1101964~YAAQN0YDF39lTICEAQAAagi/mhGrWF57UKd/fk8manXdN8aSkgBv4w6XLLdhfBt/BE8izuUIi3X3OljmLRFgGPQl0T9GascZQs0oukzywj8dk3oa4++oxpYRbNdz0y3ekALF5B3tdEBSPYoM/k/4hSuCcCgkabwble4JbnZ+VmwQsivbPAUK2U07Od0QWxAfQJwq+NG+dk+uJ/toYC+vgEzv9Z5Yj18hM0BoUmTCwORDj/viQ0iQ3GHvz7oY7Q/JuEM=~1; RT="z=1&dm=nseindia.com&si=7c73c83e-79f8-4d82-a7b9-3177b775117c&ss=laqxf0w8&sl=1&tt=1or&bcn=%2F%2F684d0d45.akstat.io%2F&hd=2jh"; _ga_PJSKY6CFJH=GS1.1.1669043520.9.0.1669043521.59.0.0',
   'authority': 'www.nseindia.com',
   'path': '/api/liveEquity-derivatives?index=nse50_fut',
   'scheme':'https',
   'dnt': '1',
   'referer': 'https://www.nseindia.com/api/liveEquity-derivatives?index=nse50_futn',
   'sec-ch-ua-mobile': '?0',
   'sec-fetch-dest': 'empty',
   'sec-fetch-mode': 'cors',
   'sec-fetch-site': 'same-origin'
  };
  
  var url = "https://www.nseindia.com/api/liveEquity-derivatives?index=nse50_fut";
  var response = UrlFetchApp.fetch(
      url, opt);
  
  
  var json = response.getContentText();
  console.info(json);

}

如果我犯了错误,请告诉我。我想将这个 api 提取到我的谷歌表中

【问题讨论】:

标签: google-apps-script google-sheets fetch-api


【解决方案1】:

由于无法修改用户代理,因此无法从该 URL 获取数据。

对于这种情况,您需要一种不同的方法,谷歌应用程序脚本将无法从该 URL 返回响应。

Tedinoz 提到的回应在这方面很明确,并指出未来对谷歌脚本的改进https://issuetracker.google.com/issues/36758197

【讨论】:

  • 你还有什么其他方法可以引导我进入这个吗?...
  • 实时获取 api java 脚本,我可以在我的服务器后端运行并获得结果..之后我将使用谷歌脚本来获取它......
  • 您可以尝试使用不同的服务进行抓取,那里有一些。无论如何,已经提供了您问题的正确答案。
  • 你能提一下他们吗,这样我可以检查一下
  • 当然 parsehub.comoctoparse.com 是完成该任务的好产品
猜你喜欢
  • 1970-01-01
  • 2019-03-24
  • 1970-01-01
  • 1970-01-01
  • 2017-01-23
  • 1970-01-01
  • 1970-01-01
  • 2022-12-03
  • 2018-04-16
相关资源
最近更新 更多