如何从google-api-go-client将日程安排设置为Google日历?

时间:2017-04-21 05:30:27

标签: go google-calendar-api

我想从google-api-go-client将日程安排设置为Google日历。

我厌倦了用谷歌日历应用程序设置时间表:(

有样品吗?

1 个答案:

答案 0 :(得分:1)

您可以将quicksstart用于Google Calendar API。详细信息为https://developers.google.com/google-apps/calendar/quickstart/go

当您想要创建事件时,可以使用“事件:插入”。您可以看到详细信息here

你好像住在日本。因此,当您使用示例脚本时,请注意DateTimeTimeZone

如果您在两个样本之上使用,main()变为如下。在运行示例脚本之前,请确认是否在Google API控制台上启用了Google Calendar API。 DateTimeTimeZone适用于日本。请在上面的文档网站上查看详细信息。

脚本:

func main() {
    ctx := context.Background()
    b, err := ioutil.ReadFile("client_secret.json")
    if err != nil {
        log.Fatalf("Unable to read client secret file: %v", err)
    }
    // If modifying these scopes, delete your previously saved credentials
    // at ~/.credentials/calendar-go-quickstart.json
    config, err := google.ConfigFromJSON(b, calendar.CalendarScope)
    if err != nil {
        log.Fatalf("Unable to parse client secret file to config: %v", err)
    }
    client := getClient(ctx, config)
    srv, err := calendar.New(client)
    if err != nil {
        log.Fatalf("Unable to retrieve calendar Client %v", err)
    }

    event := &calendar.Event{
        Summary:     "Sample event",
        Location:    "Sample location",
        Description: "This is a sample event.",
        Start: &calendar.EventDateTime{
            DateTime: "2017-04-22T00:00:00+09:00",
            TimeZone: "Asia/Tokyo",
        },
        End: &calendar.EventDateTime{
            DateTime: "2017-04-22T01:00:00+09:00",
            TimeZone: "Asia/Tokyo",
        },
    }
    calendarID := "#####"
    event, err = srv.Events.Insert(calendarID, event).Do()
    if err != nil {
        log.Fatalf("Unable to create event. %v\n", err)
    }
    fmt.Printf("Event created: %s\n", event.HtmlLink)
}