gpt4 book ai didi

java - 带有 Java 的 Google 日历 API - 服务帐户

转载 作者:行者123 更新时间:2023-11-30 06:23:37 26 4
gpt4 key购买 nike

引用Google Calendar API with PHP – Service Account并尝试了以下步骤:

  • 在 Google API 控制台中创建了一个项目,并在此项目上启用了 Google Calendar API
  • 在项目下创建服务帐号,下载JWT格式 key
  • 尝试将我的个人日历与服务帐户电子邮件共享,不知道是否是 UI 错误或不允许,没有错误,刷新页面后,服务帐户电子邮件消失了。我必须使用我公司的 Google 帐户日历,并且可以添加服务帐户。
  • 编写 Java 代码以使用步骤 2 中的 JWT key 来获取日历列表。
<小时/>
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Build service account credential.

GoogleCredential credential = GoogleCredential .fromStream(this.getClass().getClassLoader().getResourceAsStream("makoto-c14c149ef994.json")).createScoped(Collections.singleton(CalendarScopes.CALENDAR));

Calendar calendar = new Calendar.Builder(httpTransport, jsonFactory, credential).setApplicationName("makoto").build();

return calendar.calendarList().list();

问题/疑问是:

  1. 没有列出任何内容

calendar.calendarList().list()

返回了[],也没有错误。我错过了什么吗?

  • 为什么我无法与服务帐户共享我的个人日历。这仅适用于企业 Google 帐户吗?
  • 最佳答案

    对于#1,尝试执行 SO post 中的建议.

    无论使用哪种语言,都尝试与服务帐户共享现有日历。

    <paste-your-account-here>@developer.gserviceaccount.com

    要了解#2,请尝试遵循此 SO post 中接受的答案。 .

    Go to the Google calendar website add the service account email address as a user of your calendar. Then the service account will be able to access it. If you want you can programmatically insert it into calendar.list if you really need it to be there.

    关于java - 带有 Java 的 Google 日历 API - 服务帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47654051/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com