如何将 Python 更改为 Apps Script get api?

How to change Python to Apps Script get api?

我想将 python 更改为应用程序脚本,应用程序脚本中有 UrlFetchApp 功能,我从未使用过,但我正在尝试
我有代码python 可以正常得到api

import requests
 
url = "https://api.aiforthai.in.th/ssense"
 
text = 'Have a good day'
 
params = {'text':text}
 
headers = {
    'Apikey': "xxx-xxx-xxx"
    }
 
response = requests.get(url, headers=headers, params=params)
 
print(response.json())

所以现在我尝试像这样编写应用程序脚本,但没有结果; Api 仪表板打电话给我,我正在使用 api。
可能是错误的负载文本?

详情API

这是我错误的应用程序脚本代码

function call_api() {
  var url = "https://api.aiforthai.in.th/ssense"

  var apiKey = "xxx-xxx-xxx";

  var response = UrlFetchApp.fetch(
    url,
    {
      "headers": {
        "Apikey": apiKey,
        "text": "Have a good day"
      }
    }
  )
  Logger.log(response)
}

感谢您的解决。

试试这个:

function call_api() {
  var url = "https://api.aiforthai.in.th/ssense";

  var apiKey = "xxx-xxx-xxx";

  var response = UrlFetchApp.fetch(
    url,
    {
      "method" : "GET",
      "headers" : {
        "Apikey" : apiKey,
        "text" : "Have a good day"
      }
    }
  );
  Logger.log(response)
}

您可以查看 UrlFetchApp documentation 以供将来参考。

我相信你的目标如下。

  • 您想将以下 python 脚本转换为 Google Apps 脚本。

      import requests
    
      url = "https://api.aiforthai.in.th/ssense"
    
      text = 'Have a good day'
    
      params = {'text':text}
    
      headers = {
          'Apikey': "xxx-xxx-xxx"
          }
    
      response = requests.get(url, headers=headers, params=params)
    
      print(response.json())
    
  • 您已经确认您的 python 脚本运行良好。

当我看到您的 python 脚本时,text 作为查询参数发送。这样的话,下面的修改怎么样?

修改后的脚本:

function call_api2() {
  var text = "Have a good day";
  var url = `https://api.aiforthai.in.th/ssense?text=${encodeURIComponent(text)}`;
  var apiKey = "xxx-xxx-xxx";
  var response = UrlFetchApp.fetch(
    url,
    { "headers": { "Apikey": apiKey } }
  );
  Logger.log(response.getContentText());
}

注:

  • 如果您测试上述修改后的脚本,当出现错误时,请再次确认您的apiKey
  • 如果出现状态代码 403 之类的错误,您的 URL 可能无法从 Google 端请求。我很担心这个。