Ich muss SpreadsheetsService verwenden, aber ich finde den Weg nicht in der offiziellen Dokumentation .net
. https://developers.google.com/google-apps/spreadsheets/?hl=ja#authorizing_requestsWie SpreadsheetsService verwenden, das von ServiceAccountCredential authentifiziert wird?
Ich habe meinen Dienst authentifiziert:
String serviceAccountEmail = "[email protected]";
var certificate = new X509Certificate2(@"privatekey.p12", "pass", X509KeyStorageFlags.Exportable);
ServiceAccountCredential credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer(serviceAccountEmail)
{
Scopes = new[] { DriveService.Scope.Drive }
}.FromCertificate(certificate));
Von hier aus habe ich fast jeden Service instanziieren kann.
Zum Beispiel Drive Service:
var service = new DriveService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "Drive API Sample",
});
Aber mit SpreadsheetsService
Ich kann dies tun, weil SpreadsheetsService für einen String 'Anwendungsnamen' wartet in seinem Standardkonstruktors oder einen GOAuth2RequestFactory in seiner Eigenschaft RequestFactory
.
Wie authentifizieren Sie SpreadsheetsService mit einem ServiceAccountCredential?
Mit Java können Sie ca n Verwendung: tablesheetService.setHeader ("Authorization", "Bearer" + accessToken); Aber nicht sicher über .net .... setHeader Beispiel: http://stackoverflow.com/questions/15084133/issue-with-oauth2-authentication-with-google-spreadsheet/15152682#15152682 – eddyparkinson
Haben Sie die Antwort gefunden? Ich versuche das Gleiche zu tun, aber SpreadsheetsService unterstützt nur den Anwendungsnamen als Parameter. Gibt es eine Problemumgehung, die Sie verwendet haben? setUserCredentials funktioniert für mich, wenn ich nur ein normaler Benutzer bin, kein Domänenbenutzer. – Sergei
Was ist _namespace und assembly_ für 'DriveService'? –