API 请求 Google Apps 脚本

API request Google Apps Scripts

我需要从 api.I 请求信息 尝试用 UrlFetchApp.fetch 和 fetchAll.In 发出请求 我得到了 nothing.Here 我的代码:

  var request1 = {
   url: "https://seo-fast-audit.p.rapidapi.com/?url=" + url,
   method : 'GET',
   params: {url: 'https://docteurseo.fr/'}, 
   headers: {
         "x-rapidapi-host": "seo-fast-audit.p.rapidapi.com",
         "x-rapidapi-key": "KEY"
            }
};
let response = UrlFetchApp.fetchAll([request1])

(这里我替换了key)

那么我的问题是什么?是异步函数中的问题还是我请求不正确?

这是API我正在使用 https://rapidapi.com/DocteurSEO/api/seo-fast-audit

如果您想将以下 javascript 转换为 Google Apps 脚本,Ref

var axios = require("axios").default;

var options = {
  method: 'GET',
  url: 'https://seo-fast-audit.p.rapidapi.com/',
  params: {url: 'https://docteurseo.fr/'},
  headers: {
    'x-rapidapi-host': 'seo-fast-audit.p.rapidapi.com',
    'x-rapidapi-key': 'SIGN-UP-FOR-KEY'
  }
};

axios.request(options).then(function (response) {
    console.log(response.data);
}).catch(function (error) {
    console.error(error);
});

下面的修改怎么样?

function myFunction() {
  var url = "https://seo-fast-audit.p.rapidapi.com?url=" + encodeURIComponent('https://docteurseo.fr/');
  var option = {
    headers: {
      "x-rapidapi-host": "seo-fast-audit.p.rapidapi.com",
      "x-rapidapi-key": "KEY"
    }
  };
  let response = UrlFetchApp.fetch(url, option);
  console.log(response.getContentText())
}
  • 在您的脚本中,params 未包含在 fetchfetchAll 的对象中。而且,我认为在您的情况下,url 需要进行 URL 编码,而 com/?url=com?url=

注:

  • 我觉得上面GoogleApps Script的请求和上面Javascript是一样的。但如果出现错误,请再次检查您的KEY

  • 如果出现403 forbidden的错误,可能无法从Google端访问该站点。我很担心这个。

参考: