Google日历API.为事件处理共享extextendedProperty



遵循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;
  }

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

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

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

PS

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

我没有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)。

最新更新