2017-07-01 1 views
0

J'essaie d'ajouter une ligne Sheets, j'essaie de mettre 2 chaînes dans une seule ligne dans 2 colonnes.Google Sheets API v4 Ajout de données en cas de mauvaise demande 400 erreur

Voici le code:

String range = "Write!A2:E200"; 
String spreadsheetId = SPREADHEET_ID; 
List<List<Object>> values = Arrays.asList(
     Arrays.asList(

       ) 

     ); 
ValueRange body = new ValueRange() 
     .setValues(values); 
AppendValuesResponse result = 
     service.spreadsheets().values().append(spreadsheetId, range, body) 
     .setValueInputOption("USER_ENTERED") 
     .execute(); 

Lorsque je tente de d'ajouter

values.add(new ArrayList<Object>(ListOfMyTwoStrings)); 

Je reçois l'erreur nulle.

Mise à jour:

J'ai ajouté:

List<Object> lists = new ArrayList<>(); 
lists.add(ListOne); 
lists.add(ListTwo); 

List<List<Object>> values = new ArrayList<>(); 
values.add(lists); 

ListOne et ListTwo sont List<String> avec les données que je veux ajouter à la feuille, mais quand j'essaie d'exécuter je reçois :

400 Bad Request 
               { 
                "code" : 400, 
                "errors" : [ { 
                "domain" : "global", 
                "message" : "Invalid values[1][0]: list_value {\n}\n", 
                "reason" : "badRequest" 
                } ], 
                "message" : "Invalid values[1][0]: list_value {\n}\n", 
                "status" : "INVALID_ARGUMENT" 
               } 

Quelqu'un peut-il m'aider s'il vous plaît à résoudre ce problème? Merci et bonne journée!

+0

Cette erreur se produit généralement lorsque le format de tableau est incorrect. Comme indiqué dans ces sujets connexes [1] (https://stackoverflow.com/questions/44301642/upload-values-to-google-sheets) et [2] (https://stackoverflow.com/questions/38901386/google -sheet-api-lot-update-issue-ios/38903260), il devrait être sous la forme de [['a', 'b', 'c'], [1, 2, 3]] '. – abielita

Répondre

0

solution trouvée, ce qui fonctionne pour moi:

List<Object> lists = new ArrayList<>(); 

      lists.add("String 1"); 
      lists.add("String 2"); 


      List<List<Object>> values = new ArrayList<>(); 
      values.add(lists); 

Ceci ajoutera "Chaîne 1" à A1 et "Chaîne 2" à A2.

Merci abielita pour le conseil.