Как узнать источник ошибки из API Google Sheets? - PullRequest
0 голосов
/ 13 марта 2020

У меня есть обширный и успешный проект Visual Studio «Библиотека классов», который создает обширную библиотеку DLL функций GDrive и Google Sheet. У меня есть второй проект, который идентичен во всех отношениях, за исключением того, что он настроен как «Windows приложение», поэтому я могу нажать кнопку и протестировать те же функции из Visual Studio. Я на небесах и все работает отлично. Примечание. Это НЕ проблема аутентификации. Это также отлично работает.

Однако меня недавно попросили добавить очень простую функцию (см. Ниже). Эта функция прекрасно работает из проекта "Windows Приложение", но при вызове из DLL выдает ошибку "Ссылка на объект не установлена ​​на экземпляр объекта". Мой вопрос: как я могу выяснить источник этой очень распространенной ошибки таинственного мяса. Опять идентичный код, все создается ... Я в растерянности.

public string GoogleSheetsCellsFilterBasicClear(string fileId, int sheetId) {
    //PURPOSE: CLEARS THE BASIC FILTER.
    //REFERENCE: https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/request#clearbasicfilterrequest
    string result = "Success";
    try {
        BatchUpdateSpreadsheetRequest oUpdateRequest = new BatchUpdateSpreadsheetRequest {
            Requests = new List<Request>()
        };
        ClearBasicFilterRequest oFilterRequest = new ClearBasicFilterRequest {
            SheetId = sheetId
        };
        oUpdateRequest.Requests.Add(new Request {
            ClearBasicFilter = oFilterRequest
        });
        SpreadsheetsResource.BatchUpdateRequest oRequest = sheetsService.Spreadsheets.BatchUpdate(oUpdateRequest, fileId);
        BatchUpdateSpreadsheetResponse oResponse = oRequest.Execute();
    } catch (Exception e) {
        result = "Google Sheets API: " + e.Message;
    }
    return result;
}
...