java - 谷歌日历 API。处理事件的共享扩展属性

标签 java google-custom-search google-calendar-api

已关注 Google API我为指定用户添加自定义属性。 我已经尝试过 - 一般来说它对我有用。我可以添加 String 属性和 String 值。如果属性值完全匹配,我也成功地从 Google 加载了相应的数据。指定共享属性标准的格式是(类似于私有(private)属性):

  /**
   * Extended properties constraint specified as propertyName=value. Matches only shared
   * properties. This parameter might be repeated multiple times to return events that match all
   * given constraints.
   */
  public List setSharedExtendedProperty(java.util.List<java.lang.String> sharedExtendedProperty) {
    this.sharedExtendedProperty = sharedExtendedProperty;
    return this;
  }

现在我需要在 Google 属性中为 publicCase 属性提供一个集合。之后我应该能够将一个与相应的标准请求相匹配。是否可以在包含 publicCase 自定义属性 where publicCase in ["valueCollection"] 的 Google 日历事件中找到?如果可能的话请给我分享相应的信息。

另一个问题。是否可以指定条件匹配属性值的 subSting?

如何在请求中指定 OR 规则?可能吗?

附注

作为 Google 客户端,我使用 google-api-services-calendar-v3-rev225-1.22.0.jar。如果有任何正确的示例(javajspyton 等)或 API 文档能够回答我的问题,我将非常高兴。

最佳答案

我还没有得到 Google 提供的完美解决方案,但我使用了使用 Google 提供的功能的解决方法。

如果我无法使用复杂条件通过 inRagesubValue 或其他方式匹配字段值,解决方案基于构建智能字段名称。例如,我需要添加由数据填充的 crmCollection 字段,但 Google API 只允许我添加 string 值。我会将集合转换为 json 并将其表示为字符串,这样将添加自定义字段,但我将无法通过它搜索任何日历事件。因此集合应该在单个元素上分开。如果元素可以以不同的方式命名,那么很容易将其拆分为单个元素。在当前情况下,这几乎是不可能的,解决方法是在字段名称末尾添加特殊标记(每个数据元素都有一个唯一的字段,如 id ,可用于自定义字段名称构建)。最后,使用相同的规则,我可以使用每个自定义属性构建搜索请求:

Map <String, String> (key | value)
-----------------------------------
"crmCollection" | "[crmObject1, crmObject2, crmObject3 ...]" (in json representation)

转化为:

Map <String, String> (key | value)
-----------------------------------
"crmCollectionIdOfFirstObject"  | "true"
"crmCollectionIdOfSecondObject" | "true"
"crmCollectionIdOfThirdObject"  | "true"

我存储中的真实对象,但在 Google 中,我已指定要根据需要加载的对象上的链接。

附注

我考虑过其他一些解决方法,但我没有发布它们,因为我认为这个是所有解决方法中最好的。无论如何,我愿意考虑其他解决方案(更好的想法或错过了 Google API)。

关于java - 谷歌日历 API。处理事件的共享扩展属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47697669/

相关文章:

java - 在 JavaFX 中如何绑定(bind)两个复选框的选定属性,反之亦然

google-custom-search - 谷歌自定义搜索中的多个 url 限制

php - 在谷歌日历中插入事件

java - 数组的 equal 方法如何工作?

java - 使用从 Kura OSGi 包中的库创建的现有插件项目

google-custom-search - Google Custom Search API 中的保留字

php - Google Calendar API - PHP - 设置事件的颜色

javascript - Google Apps 脚本 : How to check if a calendar event has been marked as deleted manually

java - 如何强制 IntelliJ 使用 Maven 下载 javadocs?

google-custom-search - RDFa引用文档