Cannot push a localization String Table Collection to Google Sheets (exceeds grid limits)

Hello!
I try to push my localization String Table Collection to a Google Table, but an error happens.

Push `NAMES` to Google Sheets: Failed
The service sheets has thrown an exception: Google.GoogleApiException: Google.Apis.Requests.RequestError
Invalid requests[0].updateCells: Range (NAMES!KEY1) exceeds grid limits. Max rows: 1000, max columns: 26 [400]
Errors [
    Message[Invalid requests[0].updateCells: Range (NAMES!KEY1) exceeds grid limits. Max rows: 1000, max columns: 26] Location[ - ] Reason[badRequest] Domain[global]
]

  at Google.Apis.Requests.ClientServiceRequest`1+<ParseResponse>d__31[TResponse].MoveNext () [0x0014c] in <20147215d023497caf9ddab1d6e6c98d>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <695d1cc93cca45069c528c15c9fdd749>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <695d1cc93cca45069c528c15c9fdd749>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <695d1cc93cca45069c528c15c9fdd749>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0
  at Google.Apis.Requests.ClientServiceRequest`1+<ExecuteAsync>d__27[TResponse].MoveNext () [0x0010f] in <20147215d023497caf9ddab1d6e6c98d>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <695d1cc93cca45069c528c15c9fdd749>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <695d1cc93cca45069c528c15c9fdd749>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <695d1cc93cca45069c528c15c9fdd749>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0
  at Google.Apis.Requests.ClientServiceRequest`1+<ExecuteAsync>d__26[TResponse].MoveNext () [0x00079] in <20147215d023497caf9ddab1d6e6c98d>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <695d1cc93cca45069c528c15c9fdd749>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <695d1cc93cca45069c528c15c9fdd749>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <695d1cc93cca45069c528c15c9fdd749>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <695d1cc93cca45069c528c15c9fdd749>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0
  at UnityEditor.Localization.Plugins.Google.GoogleSheets+<PushStringTableCollectionAsync>d__20.MoveNext () [0x001f6] in E:\Programs\Feuds 2d\Library\PackageCache\com.unity.localization@1.2.1\Editor\Plugins\Google\GoogleSheets.cs:307
Checking if sheet needs resizing: 0,44s
Generating column headers: 0s
Generating push data: 0s
Sending Request: 0,56s
Total time: 1s
UnityEngine.UnitySynchronizationContext:ExecuteTasks ()

We do resize the sheet when it’s too small but I think we only do rows. How many languages do you have?
Can you please file a bug report?

1 Like

Thank you. I have two languages. About 100 entries in the table. Maybe it’s not a bug. Maybe I just have to add something like “using Google.Apis”?

No you dont need to add anything. Can you please file a bug report so we can look into it?

1 Like

Thanks, but I solved it already. It seems, the issue happened because I renamed Mapped Columns in Inspector. By default, they are A, B, C… I did instead Keys, English, Spanish… And it was broken. Went back to A, B, C and it’s OK.

1 Like

Oh. I’ll see if we can get some validation for this in the future

1 Like

@karl_jones We’re having the same issue here, where if use the headers (ID, EN, FR) it doesn’t work. Are there any plans to allow for more flexibility or are we stuck with using A, B, C etc ?

Could you please file a bug report? It fell of my radar but a bug report will ensure it doesn’t get forgotten about again.

If the rows stay in the same order, you could just have your first row be a bunch of “translations” of column names.

   A     B      C     D     E
"_ID", "EN",  "FR", "DE",  ...
"one", "one", "un", "ein", ...