Limitation add rows API appsheet ?

Hi,

I'm trying to add rows to a table using the AppSheet API in a Google Apps Script. 
The data I want to put in the table are from an external API.

Actually the process is working when I manually (for testing) put some JSON data (like 2 elements => 2 rows). But when I call the all process with some data nothing append. 

So I was wondering, is it a sort of limitation (size?) that the AppSheet API allow ?

Thanks for any help ! 

That's my function :  

 

 

function add_droit_acces_appsheet(data_to_add) {
  Logger.log('data ร  รฉcrire :');
  Logger.log(data_to_add);
  var app_id = 'xxxxxxxxxxxxxxxxxxxx';
  var app_access_key = 'xxxxxxxxxxxxxxxxxxxxxxxx';
  var table_name = 'droit_accรจs_dรฉclarรฉ';

  // Construction URL
  var url = "https://api.appsheet.com/api/v2/apps/" + app_id + "/tables/" + table_name + "/Action";

  // Paramรจtres de la requรชte
  var headers = {"Content-Type": "application/json", "ApplicationAccessKey": app_access_key};

  // Corps de la requรชte pour ajouter des valeurs
  var data = {
      "Action": "Add",
      "Properties": {
          "Locale": "en-US",
          },
      "Rows": data_to_add  
  };

    // Envoi de la requรชte
    var responseAppSheet = UrlFetchApp.fetch(url, {
    method: "post",
    headers: headers,
    payload: JSON.stringify(data)
  });
  var statusCode = responseAppSheet.getResponseCode();
  Logger.log('Statut de la rรฉponse : ' + statusCode);
  if (statusCode === 200) {
      Logger.log('Rรฉponse AppSheet : ' + responseAppSheet.getContentText());
  } else {
      Logger.log('Erreur lors de la requรชte. Statut : ' + statusCode);
  }
  
  Logger.log('URL de la requรชte : ' + url);
  Logger.log('Donnรฉes ร  envoyer : ' + JSON.stringify(data));
  Logger.log('Rรฉponse AppSheet : ' + responseAppSheet.getContentText());
}

 

 

It's working when I set the variable data_to_add like this. Other ways I think I have like 20 set of records coming from the external API. 

 

var data_to_add = 
[
  {
    "id_droit_acces": "xxxxxxxxxxx",
    "id_pce": "xxxxx",
    "role_tiers": "AUTORISE_CONTRAT_FOURNITURE",
    "raison_sociale_du_tiers": "xxxxxxxx",
    "nom_titulaire": "xxxxxxxxxx",
    "raison_sociale_du_titulaire": null,
    "courriel_titulaire": "xxxxxxxxxxxx",
    "code_postal": "xxxxx",
    "perim_donnees_contractuelles": "",
    "perim_donnees_techniques": "Vrai",
    "perim_donnees_informatives": "Vrai",
    "perim_donnees_publiees": "Vrai",
    "date_creation": "2023-12-18 18:02:13",
    "etat_droit_acces": "Active",
    "date_revocation": null,
    "source_revocation": null,
    "date_passage_a_obsolete": null,
    "source_passage_a_obsolete": null,
    "date_passage_a_refuse": null,
    "date_debut_droit_acces": "2023-12-18",
    "date_fin_droit_acces": "2024-12-18",
    "perim_donnees_conso_debut": "2023-04-01",
    "perim_donnees_conso_fin": "2025-01-01",
    "source_passage_a_refuse": null,
    "parcours": "TIERS_DIRECT",
    "statut_controle_preuve": null,
    "date_limite_transmission_preuve": null,
    "numero_telephone_mobile_titulaire": "xxxxxxxxxx"
  },
  {
    "id_droit_acces": "xxxxxxxxxxxx",
    "id_pce": "xxxxxxxxxxxxxxx",
    "role_tiers": "AUTORISE_CONTRAT_FOURNITURE",
    "raison_sociale_du_tiers": "xxxxxxxxxxxxxx",
    "nom_titulaire": "xxxxxxxxxxxxxxxx",
    "raison_sociale_du_titulaire": null,
    "courriel_titulaire": "xxxxxxxxxxxxxxxxxxx",
    "code_postal": "xxxxx",
    "perim_donnees_contractuelles": "Vrai",
    "perim_donnees_techniques": "Vrai",
    "perim_donnees_informatives": "Vrai",
    "perim_donnees_publiees": "Vrai",
    "date_creation": "2023-12-19 12:45:49",
    "etat_droit_acces": "Active",
    "date_revocation": null,
    "source_revocation": null,
    "date_passage_a_obsolete": null,
    "source_passage_a_obsolete": null,
    "date_passage_a_refuse": null,
    "date_debut_droit_acces": "2023-12-19",
    "date_fin_droit_acces": "2024-12-19",
    "perim_donnees_conso_debut": "2022-05-14",
    "perim_donnees_conso_fin": "2025-01-01",
    "source_passage_a_refuse": null,
    "parcours": "TIERS_DIRECT",
    "statut_controle_preuve": null,
    "date_limite_transmission_preuve": null,
    "numero_telephone_mobile_titulaire": "xxxxxxxxxxxxxxxx"
  }
]

 

 

Solved Solved
0 3 267
2 ACCEPTED SOLUTIONS

I thought the API write request is limited to 10MB, but this documentation does not seem to clearly indicate that is the AppSheet API or Big Query.

https://www.googlecloudcommunity.com/gc/Data-Analytics/How-to-increase-limit-of-Storage-Write-API/m-...

View solution in original post

Thanks for the info. 

I've solved my problem. It was a format mistake...
I've add JSON.parse()

to

 

"Rows": JSON.parse(data_to_add)

View solution in original post

3 REPLIES 3

I thought the API write request is limited to 10MB, but this documentation does not seem to clearly indicate that is the AppSheet API or Big Query.

https://www.googlecloudcommunity.com/gc/Data-Analytics/How-to-increase-limit-of-Storage-Write-API/m-...

Thanks for the info. 

I've solved my problem. It was a format mistake...
I've add JSON.parse()

to

 

"Rows": JSON.parse(data_to_add)

Good catch. Now that you mention it I recall that I forgot the JSON.parse() multiple times in the past when using the API.

Top Labels in this Space