【问题标题】:Google Calendar API. Handling sharedExtendedProperty for events谷歌日历 API。处理事件的 sharedExtendedProperty
【发布时间】:2017-12-07 14:49:24
【问题描述】:

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

  /**
   * 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 规则?有可能吗?

PS

作为 Google 客户端,我使用 google-api-services-calendar-v3-rev225-1.22.0.jar。如果有任何正确的示例(javajspyton 和其他)或 API 文档来回答我的问题,我会很高兴。

【问题讨论】:

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


    【解决方案1】:

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

    如果我不能使用复杂条件来匹配 inRagesubValue 的字段值,否则,解决方案是基于构建 smart 字段名称。例如,我需要添加由数据填写的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 中,我已经指定了我的对象上的链接,以便根据需要加载。

    PS

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

    【讨论】:

      猜你喜欢
      • 2018-05-28
      • 2012-10-10
      • 2018-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多