在我的 Go 應(yīng)用程序中,當(dāng)前作為本地主機(jī)在我的開(kāi)發(fā)機(jī)器上運(yùn)行(最終在 Linode 上),我希望簡(jiǎn)單地顯示我自己的 Google 帳戶(hù)中的日歷中的公共 Google 日歷事件。目前這只顯示到控制臺(tái),因?yàn)槲蚁胱屗瓌t上工作并且我在我的應(yīng)用程序的索引頁(yè)面處理程序中有這段代碼。googleCalendar, err := calendar.NewService(r.Context(), option.WithCredentialsFile("./googleAuth.json")) if err != nil { app.errorLog.Println(w, err) } calEvents, err := googleCalendar.Events.List("primary").TimeMin(time.Now().Format(time.RFC3339)).MaxResults(5).Do() if err != nil { app.errorLog.Println(err) } if len(calEvents.Items) > 0 { for _, i := range calEvents.Items { fmt.Fprintln(w, i.Summary, " ", i.Start.DateTime) } } else { app.errorLog.Println("No calendar events to display") }我認(rèn)為這樣做的唯一方法是使用服務(wù)帳戶(hù),因?yàn)槲也皇?G Workspace (GSuite) 用戶(hù)(該應(yīng)用程序最終將在 Linode 上運(yùn)行),Oauth2 直接是矯枉過(guò)正,并且在我的情況下可能無(wú)法使用。我在我的 Google Dev Console 中啟用了 Google calendar API 并設(shè)置了一個(gè)服務(wù)帳戶(hù),創(chuàng)建/下載了一個(gè) json 密鑰文件(如代碼中所示)。我已將服務(wù)帳戶(hù)電子郵件作為共享用戶(hù)添加到必要的日歷中。代碼編譯并運(yùn)行,但我只得到“沒(méi)有要顯示的日歷事件”,因?yàn)椤绊?xiàng)目”為空(日歷確實(shí)有事件)。還有更多需要做的嗎?如何獲取這些日歷事件?謝謝
顯示驗(yàn)證為服務(wù)帳戶(hù)的谷歌日歷事件 - Golang App
動(dòng)漫人物
2022-12-26 16:47:48