Я использую .Net (и я установил пакет NuGet) для доступа к Google Sheets с использованием служебной учетной записи.У меня есть аккаунт Google API, я создал сервисный аккаунт и даже тестовый лист для работы.Я включил файл JSON, в котором описаны учетные данные, которые я скачал с созданной учетной записи службы.Кажется, все работает, кроме того, что когда я использую вызов метода Execute, я получаю следующую ошибку:
У вызывающей стороны нет разрешения [403] Сообщение [У вызывающей стороны нет разрешения] Местоположение [-] Причина[запрещено] Домен [глобальный]
на Google.Apis.Requests.ClientServiceRequest`1.<ParseResponse>d__34.MoveNext()
Я также включил глобальный доступ к учетной записи службы, но он все еще не работает.Я пытался поделиться учетной записью службы с листом, но, кажется, нет никакого способа сделать это.
Мой код выглядит так:
string[] Scopes = { SheetsService.Scope.SpreadsheetsReadonly };
string ApplicationName = "My Unit Test";
GoogleCredential sac;
using (var stream = new FileStream("credentials.json", FileMode.Open, FileAccess.Read))
{
sac = GoogleCredential.FromStream(stream).CreateScoped(Scopes);
}
// Create Google Sheets API service.
var service = new SheetsService(new BaseClientService.Initializer()
{
HttpClientInitializer = sac,
ApplicationName = ApplicationName,
});
String spreadsheetId = "1_aeTu4YxDKrqDBvCNR1awyo_7WDha0JBVo1jLxsz3pA";
String range = "Export!A2:E";
SpreadsheetsResource.ValuesResource.GetRequest request = service.Spreadsheets.Values.Get(spreadsheetId, range);
ValueRange response = request.Execute(); // Exception thrown here
Мне нужно выполнитьдля успешного входа в систему и доступа к настройке Google Sheet I.Кто-нибудь видел это или знает способ обойти это?