Mise à jour d'une Cellule avec C# et les Feuilles de l'API v4
Quelqu'un aurait-il un bon exemple en C# pour la mise à jour d'une cellule avec la v4 API?
J'ai l'obtenir les valeurs des cellules c# exemple de la part du développeur de site web en travaillant avec des Feuilles de calcul Google API v4. Je suis en train de modifier l'exemple de la mise à jour d'une cellule avec une valeur de "Tom". Je suis bloqué sur les paramètres de SpreadSheets.Values.Update
.
using Google.Apis.Auth.OAuth2;
using Google.Apis.Sheets.v4;
using Google.Apis.Sheets.v4.Data;
using Google.Apis.Services;
using Google.Apis.Util.Store;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace GoogleSheetsAPI4_v1console
{
class Program
{
//If modifying these scopes, delete your previously saved credentials
//at ~/.credentials/sheets.googleapis.com-dotnet-quickstart.json
static string[] Scopes = { SheetsService.Scope.Spreadsheet };
static string ApplicationName = "TestSpreadsheet";
static void Main(string[] args)
{
UserCredential credential;
using (var stream =
new FileStream("client_secret.json", FileMode.Open, FileAccess.Read))
{
string credPath = System.Environment.GetFolderPath(
System.Environment.SpecialFolder.Personal);
credPath = Path.Combine(credPath, ".credentials/sheets.googleapis.com-dotnet-quickstart.json");
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
Scopes,
"user",
CancellationToken.None,
new FileDataStore(credPath, true)).Result;
Console.WriteLine("Credential file saved to: " + credPath);
}
//Create Google Sheets API service.
var service = new SheetsService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = ApplicationName,
});
//Define request parameters.
String spreadsheetId = "<<myspreadsheetid>>";
String range = "Sheet1!D5"; //single cell D5
String myNewCellValue = "Tom";
SpreadsheetsResource.ValuesResource.UpdateRequest request = service.Spreadsheets.Values.Update(<<what goes here?>>, spreadsheetId, range);
//Prints the names and majors of students in a sample spreadsheet:
//https://docs.google.com/spreadsheets/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms/edit
ValueRange response = request.Execute();
IList<IList<Object>> values = response.Values;
Console.WriteLine(values);
}
}
}
Vous devez vous connecter pour publier un commentaire.
Voici un exemple de travail à l'aide d'une console d'écrire une simple cellule. Merci à tous ceux qui ont aidé !!
Je pense que vous avez juste l'accès à la lecture de votre fiche, parce que je peux voir :
Essayer de changer "SheetsService.La portée.SpreadsheetsReadonly" par "SheetsService.La portée.Feuille de calcul" ou par "SheetsService.La portée.Le lecteur". C'est peut-être une autre syntaxe... Si ce n'est pas un problème d'autorisation, je ne peux pas vous aider, désolé... Bonne chance mon ami.
Ps: Sur Xcode (objective-c), vous devez réinitialiser le simulateur après la modification de la portée. Pour vous (C#) je ne sais pas.
Si vous utilisez ce tutoriel
https://developers.google.com/sheets/quickstart/dotnet
Vous assurer que vous commentez la ligne suivante de code.
Aussi c'est ce que j'ai utilisé la syntaxe sage et ai eu de travail.
Le fichier "Google.Les api.Les draps.v4.SpreadsheetsResource.cs" contient une erreur: "url "https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/valeurs/{range}" ne contient pas "?valueInputOption=RAW". Utilisez ce code temporairement:
D'abord Créer de la valeur à l'objet range comme donné ci-dessous: