簡體   English   中英

從 email 地址獲取谷歌日歷 ID

[英]get google calendar id from an email address

我正在使用服務帳戶service@entreprise.tn在 Google 日歷上插入一個新事件。

我無法指定活動的organizercreator event 我的代碼是:

            Organizer organizer = new Organizer().setEmail("user1@entreprise.tn").setSelf(true);
            Creator creator = new Creator().setEmail("user1@entreprise.tn").setSelf(true);

            Calendar service = Calendar_Utils.getCalendarService();
            Event event = new Event()
                         .setSummary("Google Calendar API")
                         .setOrganizer(organizer)
                         .setCreator(creator);

            DateTime startDateTime = new DateTime("2020-04-24T09:00:00.000Z");
            EventDateTime start = new EventDateTime()
                                  .setDateTime(startDateTime)
                                  .setTimeZone("Africa/Tunis");
            event.setStart(start);

            DateTime endDateTime = new DateTime("2020-04-24T10:30:00.000Z");
            EventDateTime end = new EventDateTime()
                                .setDateTime(endDateTime)
                                .setTimeZone("Africa/Tunis");
            event.setEnd(end);

            String calendarId = "primary";
            event = service.events().insert(calendarId, event).execute();
            System.out.printf("Event created: %s\n", event.getHtmlLink() + " - " + event.getOrganizer() + " - " + event.getCreator());

結果,插入了新事件,但組織者和創建者是service@entreprise.tn而不是user1@entreprise.tn

你能告訴我如何更改我的代碼以將組織者設置為user1@entreprise.tn

非常感謝。

默認情況下,執行events.patch並更新事件上的組織者字段,組織者屬性設置為創建事件的人員或服務帳戶。

冒充

如果服務帳戶已設置為在域范圍內委派給 gsuie 域,您可以模擬該域中的其中一個用戶,組織者將是被模擬的用戶。

當您使用服務帳戶創建事件時,您需要模擬將代表其創建事件的用戶

在 Java 中,您可以按以下方式進行操作:

    GoogleCredential getCredentials = new GoogleCredential.Builder()
     .setTransport(HTTP_TRANSPORT)
     .setJsonFactory(JSON_FACTORY)
     .setServiceAccountId(serviceAccount)
     .setServiceAccountPrivateKeyFromP12File(pk12)
     .setServiceAccountScopes(SCOPES)
     .setServiceAccountUser("user1@entreprise.tn") 
     .build();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM