2016-12-27 8 views
1

でGoogleカレンダーにリマインダーを追加します。私はこのコードを実行すると私はgolangでGoogleカレンダーにカスタムリマインダーを追加したいgolang

event := &calendar.Event{ 
    Summary:  "Test GG calendar", 
    Location: "31 AAA", 
    Description: "Test google calendar", 
    Start: &calendar.EventDateTime{ 
     DateTime: "2016-12-27T17:30:00+07:00", 
     TimeZone: "Asia/Ho_Chi_Minh", 
    }, 
    End: &calendar.EventDateTime{ 
     DateTime: "2016-12-27T17:40:00+07:00", 
     TimeZone: "Asia/Ho_Chi_Minh", 
    }, 
    Reminders: &calendar.EventReminders{ 
     Overrides: []*calendar.EventReminder{ 
      {Method: "email", Minutes: 30}, 
      {Method: "popup", Minutes: 10}, 
     }, 
     UseDefault: false, 
    }, 
} 

は、Googleがイベントを追加できませんでした。このエラーが発生しました:イベントを作成できません。 googleapi:エラー400:。同時に、デフォルトのリマインダと上書きの両方を指定することはできません、cannotUseDefaultRemindersAndSpecifyOverride

おかげ

+1

私は解決策を見つけました。偽の値が空の値だと思ってサーバに送信しなかったと思うのでUseSefFields:[]文字列{"UseDefault"}、 をUseDefault:falseの後に に追加する必要があります:https://godoc.org/google .golang.org/api/calendar/v3#EventReminders – hungpk

答えて

1

google-apps/calendar/concepts/remindersの私の読書に基づいて、あなたが設定すると同時にUseDefault: false,を指定してはならないようですOverridesUseDefault: false,部分を入れないでください。既定のfalseに設定されるのは、既定のオーバーライドを削除したいときに設定する必要があるためです。

だから、期待コードは次のとおりです。

event := &calendar.Event{ 
    Summary:  "Test GG calendar", 
    Location: "31 AAA", 
    Description: "Test google calendar", 
    Start: &calendar.EventDateTime{ 
     DateTime: "2016-12-27T17:30:00+07:00", 
     TimeZone: "Asia/Ho_Chi_Minh", 
    }, 
    End: &calendar.EventDateTime{ 
     DateTime: "2016-12-27T17:40:00+07:00", 
     TimeZone: "Asia/Ho_Chi_Minh", 
    }, 
    Reminders: &calendar.EventReminders{ 
     Overrides: []*calendar.EventReminder{ 
      {Method: "email", Minutes: 30}, 
      {Method: "popup", Minutes: 10}, 
     }, 
    }, 
} 
+0

あなたの答えをありがとう。 – hungpk

+1

Goでは、boolのデフォルト値はfalseであるため、指定しなかった場合はUserDefaultの値は常にfalseになります。このサンプルコードでは、UserDefaultにfalseを設定する必要があります(https://developers.google.com/google-apps/calendar/create-events)。私はGoの部分でリマインダーのサンプルコードを削除した理由を知らない。あなたはJavaやPHPの部分でそれを見ることができます。 – hungpk

関連する問題