Probléme de message d'erreur

bonjour, j'ai un petit problème de message d'erreur que je n'arrive pas à résoudre !


je vois la cause du message mais je n'arrive pas à le résoudre, je vous explique ....
dans l'application j'envoie les images à google drive,
j'ai l'id de l'image dans googlesheet, et je récupère l'image sur l'application, là tout va bien.
j'ai ce message d'erreur quand je clique sur le bouton14 (qui me permet de modifier toutes les données "textes et images" de cet écran), et je ne peu pas modifier les données "textes" dans la googlesheet !

Voici une partie des blocs :

Par contre quand j'enlève l'étiquette de l'image concernée j'ai ce message d'erreur (ce qui est normal car il manque une donnée dans le bloc), mais du coup je peux modifier les données " textes" dans la googlesheet !

Capture7

Je n'arrive pas à corriger ce problème !
Peut être corriger le script de la fonction "modifier" par rapport à l'image ?
Où corriger les blocs (par rapport à la liste) ?

This is the third time you are asking about a DOCTYPE error....
For example

Taifun

oui je sais qu'il y a une erreur, j'avais débogué pour obtenir la réponse :
dans le bloc de la fonction "ReadReportData" j'obtient ce que j'ai dans la googlesheet, donc pas de problème.

Et dans la fonction "Modifier" j'obtient le bon texte, mais pas l'id de l'image (normalement je dois avoir l'id) ! je pense que mon problème est là, mais je n'arrive pas à le résoudre ! et le texte ne veut pas se modifier dans googlesheet , peut être à cause de ça !

je re essaye de déboguer et maintenant j'ai la bonne réponse qui est avec l'id !
mais j'ai toujours le message d'erreur.
Capture8

Je ne comprends pas.

Je pense que le problème du message d'erreur vient de l'étiquette "imagemodifbrico", car j'ai fais des test avec l'application en modifiant plusieurs blocs et c'était à chaque fois cette étiquette qui me pose problème quand je clique sur le bouton.

Capture1

J'ai une fonction "modifier" sur ce bouton, et peut être que je dois modifier le script par rapport à l'étiquette ?

voilà le script de la fonction :

if (e.parameter.func == "Modifier1") {
  var ss = SpreadsheetApp.openById(e.parameter.ID);
  var sh = ss.getSheetByName(e.parameter.SHT);
  var rows = sh.getDataRange().getValues();
  var row, rowid;
  var newData = [];
  var data = JSON.parse('[' + e.parameter.DATA + ']');
      for (var j=0; j<data[0].length; j++) {
        newData.push(data[0][j].replaceAll('|','\n'));      
      }

    for (var i=0;i<rows.length;i++) {
      if ( e.parameter.nom == rows[i][0] ) {
	rowid = (i);
      }
    }
  newData = [newData];
  sh.getRange((parseInt(rowid) + 1),1,1,data[0].length).setValues(newData);
  SpreadsheetApp.flush();
  var returnData = [];
  newRow = sh.getRange((parseInt(rowid) + 1),1,1,data[0].length).getValues();
    for (var n=0; n<newRow[0].length; n++) {
        returnData.push(newRow[0][n].replaceAll('\n','|'));
    }
  returnData = [returnData];
  return ContentService.createTextOutput(JSON.stringify(returnData));
  }

Est ce que quelqu'un peut m'aider à résoudre ce problème ?

voilà ce que j'obtiens du bouton qui concerne la fonction "Modifier1" où il y a le problème.

Savez vous ce que cela veut dire ?
Problème de script ?

this is your error

show us a Do it result of your Get request

Taifun

comme ça !

my guess is your error occurs, because you are using this string (marked in yellow), which contains the ampersand character & (see my red arrow), and that character usually represents the beginning of a new tag

so the question is, why are you uploading the complete url to the image and not only the id of the image (which is the part after ampersand character & (marked with the red arrow)? we talked about that in detail in one of your other threads...
As the beginning of the string is always the same, it not really is necessary to store the complete string, you easily can create the complete string when you need it

Taifun

dans la googlesheet je télécharge que l'ID de l'image si c'est ça que vous voulez dire !

Capture8

in your Get request you are uploading the complete url, see your Do it result
my suggestion is to remove the constant part of the string and upload only the image id
Taifun

you marked the problem yourself with a blue arrow
just upload only the id rather than the complete url

Taifun

oui dans le Get il y a l'URL, car je souhaite récupérer l'image pour la lire.

Oui je pensais que le problème venait de là mais je ne savais pas comment le résoudre.

Je vais essayer votre suggestion

J'ai suivi votre suggestion, effectivement j'ai que l'ID de l'image et je n'ai pas le message d'erreur. Mais l'image ne s'affiche pas dans l'application (c'est pour cela que j'avais l'URL)

plus haut vous avez souligné l'erreur, et dans mon script voilà la ligne 227

Si je remets l'URL dans Get pour récupérer et afficher l'image dans l'application , est ce qu'on peut pas modifier le script pour éviter ce message d'erreur ?
où mettre "UriEncode" dans les blocs ?

To display the image, you join the constant part of the url together with the id

And in the Google Spreadsheet you store only the id

That it

Taifun

c'est ok, ça fonctionne je n'ai plus le message d'erreur, merci beaucoup de votre aide

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.