我正在尝试使用将事件添加到谷歌日历中。Net控制台应用程序作为客户端。我收到以下错误。
谷歌。API。请求。RequestError权限不足[403]错误[消息[权限不足]位置[-]原因[权限不足]域[全局]]
在线上
service.Events.Insert(newEvent, "primary").Execute()
这是我的代码
Dim Scopes As String() = {CalendarService.Scope.CalendarReadonly}
Dim ApplicationName As String = "Google Calendar API .NET Quickstart"
Dim credential As UserCredential
Using stream = New FileStream("client_secret.json", FileMode.Open, FileAccess.Read)
Dim clientSecrets = GoogleClientSecrets.Load(stream).Secrets
Dim credPath As String = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal)
credPath = Path.Combine(credPath, "D:/calendar-dotnet-quickstart.json")
Dim dataStore = New FileDataStore(credPath, True)
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(clientSecrets, Scopes, "admin", CancellationToken.None, dataStore).Result
Console.WriteLine("Credential file saved to: " & credPath)
End Using
Dim service = New CalendarService(New BaseClientService.Initializer() With {.HttpClientInitializer = credential, .ApplicationName = ApplicationName})
Dim newEvent As New Google.Apis.Calendar.v3.Data.Event()
Dim startDate As New EventDateTime
Dim endtDate As New EventDateTime
Dim scope =
startDate.DateTime = DateTime.Now.AddHours(2)
endtDate.DateTime = DateTime.Now.AddHours(5)
newEvent.Summary = "XYZ reminder"
newEvent.Description = "Please contact dcsdc@cdscs.ss"
newEvent.Start = startDate
newEvent.End = endtDate
newEvent.Id = "1122"
Try
service.Events.Insert(newEvent, "primary").Execute() 'Error here
Catch ex As Exception
Console.WriteLine(ex.Message & Environment.NewLine & ex.StackTrace)
End Try
但是,我能够读取使用手动创建的事件
Dim request As EventsResource.ListRequest = service.Events.List("primary")
也尝试过
在AuthorizeAsync
中设置“用户”。
- 在
服务中将电子邮件地址设置为日历ID。事件。插入
- 将范围设置为
Dim Scopes As String()={CalendarService。范围。日历}
问题是你的范围。
Dim Scopes As String()={CalendarService.Scope.CalendarReadonly}
您可以读取,因为您的作用域是CalendarReadonly。
但是,要执行诸如插入事件之类的写入操作,需要使用读/写:
批准
此请求需要以下范围的授权(请阅读有关身份验证和授权的更多信息)。
范围
https://www.googleapis.com/auth/calendar
如果更改范围时它不起作用,请记住。NET Quickstart评论说:
//如果修改这些范围,请删除您以前保存的凭据//at~/。凭据/calendar-dotnet-quickstart.json
您修改了范围,您需要删除以前保存的凭据才能使新范围生效。
我们正在使用API Google开发应用程序。在这个过程中,我们遇到了一些困难。 我们使用了php-sdk,在这个页面上“code . Google . com/p/Google-API-PHP-client/”我们使用了谷歌日历服务。我们遵循位于以下位置的文档:“developers . Google . com/Google-apps/calendar/v3/reference/”日历和事件部
我使用OAuth对我的应用程序进行了身份验证,并使用日历API对其进行了测试。一切正常。我还为事件API使用了“快速添加”方法,效果很好。但是当我尝试使用以下代码插入时 我得到以下错误: 致命错误:未捕获异常“apiServiceException”,消息为“调用POST时出错 https://www.googleapis.com/calendar/v3/calendars/myemail@gma
当将表导出到云存储时,在2017-07-08得到以下错误。 拒绝访问:BigQuery BigQuery:写数据时权限被拒绝 JOBID:Alert-Basis-89415:BQUIJOB_6ADFD86E_15D2DE5CE1B
问题内容: 我是这个网站的新手,我才刚刚开始学习Java。我正在尝试将几天添加到GregorianCalendar中,但是它不起作用。在这里…(忽略顶部的块),其底部的添加日期很烦人。 感谢您阅读本文!我欢迎任何反馈… 问题答案: 这里有太多代码。用户互动过多。 从一种简单的方法开始做一件事,然后在正确的方法上解决。 这是您可能的操作方式: 一旦测试并证明了此方法,您就可以让其余的代码调用它。 更
我需要在日历上创建谷歌日历活动,并将其他用户添加为该活动的参与者。其目的是向应用程序用户发送日历事件,而无需征得他们的同意(O-Auth)。 在阅读了谷歌的留档后,我发现我需要一个服务号。所以我从我们的G-Suite的一个电子邮件地址创建了一个项目和一个服务号,noreply@xxxxx.com并为其启用了日历应用编程接口。 我创建并下载了一个密钥对(JSON),其内容是, 根据文档,我开始编写身