Home > front end >  How to change Python to Apps Script get api?
How to change Python to Apps Script get api?

Time:03-25

I want to change python to apps script in apps script have UrlFetchApp function i'm never use but i'm try
I have code python can get api normally

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())

so now i'm try code apps script like this but notthing came out ; Api dashboard call me i'm use api.
maybe wrong payload text?

Detail API

This my wrong apps script code

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)
}

Thank you for solution.

CodePudding user response:

Try this instead:

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)
}

You can check out the UrlFetchApp documentation for future reference.

CodePudding user response:

I believe your goal is as follows.

  • You want to convert the following python script to Google Apps Script.

      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())
    
  • You have already been confirmed that your python script worked fine.

When I saw your python script, text is sent as the query parameter. In this case, how about the folloiwng modification?

Modified script:

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());
}

Note:

  • If you test the above modified script, when an error occurs, please confirm your apiKey again.
  • If an error like status code 403 occurs, your URL might not be able to be requested from Google side. I'm worried about this.
  • Related