C# Google.Apis.Requests.RequestError调用者没有权限

C# Google.Apis.Requests.RequestError The caller does not have permission

我为我的应用程序创建了一个 API 密钥,并按照此处列出的示例 (https://developers.google.com/api-client-library/dotnet/get_started#simple) 将其传入。我收到 Google.Apis.Requests.RequestError 调用者没有权限。我可能遗漏了什么?

源代码

var service = new SheetsService(new BaseClientService.Initializer()
{
    ApplicationName = "Application",
    ApiKey = WebConfigurationManager.AppSettings["GoogleSheetsAPIKey"]
});

// Define request parameters.
string spreadsheetId = "[omitted]";
string range = "Sheet1";
SpreadsheetsResource.ValuesResource.GetRequest request =
                service.Spreadsheets.Values.Get(spreadsheetId, range);

ValueRange response = request.Execute();
IList<IList<Object>> values = response.Values; // bombs here
if (values != null && values.Count > 0)
{
    Console.WriteLine("Name, Major");
    foreach (var row in values)
    {
        // Print columns A and E, which correspond to indices 0 and 4.
        Console.WriteLine("{0}, {1}", row[0], row[4]);
    }
}
else
{
    Console.WriteLine("No data found.");
 }

我的 api 密钥已创建并具有 "no restrictions"

问题在于此电子表格在我的 google 帐户下。通过制作我的 google 电子表格 public share > advanced > public on the web,上面的代码有效。 (由于这不是敏感数据,我可以制作此电子表格 public

我的问题已通过删除文件 "Google.Apis.Auth.OAuth2.Responses.TokenResponse-user" 解决 - 在方法 GoogleWebAuthorizationBroker.AuthorizeAsync(...)

中生成