의견 작성자가 제안한대로 제 질문에 코드를 게시 했어야합니다. 그러나이 대답의 일부로 게시하고 있습니다. 이는 분명히 차선책이지만 내 용도로 사용됩니다.
이 내가 값을 업데이트하고, 나는 다음 '그리드'의 크기를 확장 할 AppendCells를 호출하고합니다 (OAuth는 서비스 인스턴스를 생략) 요컨대
Public Function AddRows(Values As Object()()) As Boolean
Try
'Create dummy rows value payload
Dim cell2add As New CellData
Dim cellval As New ExtendedValue
cellval.NumberValue = 0
cell2add.UserEnteredValue = cellval
Dim data2add As New RowData
data2add.Values = {cell2add}
Dim rowdataList As New List(Of RowData)
For i = 0 To UBound(Values)
rowdataList.Add(data2add)
Next
'Add a request to append to the sheet's data (expand grid)
Dim appendRequest As New AppendCellsRequest
appendRequest.SheetId = SheetID
appendRequest.Rows = rowdataList.ToArray
appendRequest.Fields = "*"
Dim request As New Request
request.AppendCells = appendRequest
'Execute the request
Dim bRequest As New BatchUpdateSpreadsheetRequest
bRequest.Requests = {request}
Dim bResponse As BatchUpdateSpreadsheetResponse = Service.Spreadsheets.BatchUpdate(bRequest, DataBaseName).Execute()
'Now update the newly added rows with data
Dim index As Integer = GetRowCount() - Values.Length + 2 'GetRowCount() calls the service to get sheet metadata and returns the rows of data (excluding the headers)
Dim vals As New ValueRange
vals.Values = Values
Dim urequest As SpreadsheetsResource.ValuesResource.UpdateRequest =
Service.Spreadsheets.Values.Update(vals, DataBaseName, Name & "!A" & index)
urequest.ValueInputOption = SpreadsheetsResource.ValuesResource.UpdateRequest.ValueInputOptionEnum.USERENTERED
Dim response As UpdateValuesResponse = urequest.Execute
Return response.UpdatedRows = Values.Length
Catch ex As Exception
Trace.WriteLine(Now.ToLongTimeString & ":" & ex.Message)
Return False
End Try
End Function
와 종료 코드입니다 따라서 빈 행이 생성됩니다. 새 행의 값을 업데이트하려고하면 서버에서 '서비스를 사용할 수 없음'오류를 반환합니다. 기존 행에서 값 (values.batchUpdate)을 업데이트하고 동일한 요청에서 새 행을 추가하는 실험을 통해이 문제를 발견했습니다. 이 경우의 오류 메시지는 '그리드 너머'업데이트에 대한 것입니다.
오류 코드를 공유하여 오류가 어디서 왔는지 확인할 수 있도록하십시오. – Teyam
내가 문제를 겪고있을 때의 정확한 코드를 가지고 있지 않기 때문에 아래에 코드를 추가하십시오. 아래에 게시 된 코드에는 관련 코드가 모두 있습니다. –