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(...)
中生成
我为我的应用程序创建了一个 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(...)
中生成