跟踪代码允许企业(例如我们)在Box上的用户数据中存储一些本地ID。我意识到需要在企业(我们的联系人正在处理)上启用功能。
第一个问题:文档说它是一个“数组”,其他答案表明它是一个“名称/值对”数组。在数据类型中,Box API究竟是什么意思是“名称/值”-pair?
它是带字符串键和字符串值的字典列表(在这种情况下 - 如果两个字典共享键会发生什么),带有“/”分隔符的字符串列表,或者我可以放置任何数据类型我喜欢进入阵列吗?
第二个问题:我是否像普通属性一样操纵tracking_codes数组(即我将一个新数组放到/2.0/users/USERID来更新它),还是像其他数组一样管理它(比如电子邮件别名)通过POST / DELETE到/2.0/users/USERID/tracking_codes?
谢谢。
答案 0 :(得分:1)
好的......这里没有答案,也没有来自Box支持的答案,所以我试验并联系了另一个我可以用作基础的工作脚本的企业。
需要为enteprise启用“tracking_codes”。文档没有提到这一点。如果您未启用tracking_codes,则会收到标准且非常无用的“无效请求参数”错误。
您打算使用的特定tracking_codes的名称必须在Box管理页面的“企业设置”(“用户设置”选项卡)中注册。文档错误地说可以使用“任何名称/值对”,但只能使用预先注册的名称。如果您使用尚未注册的名称,则会收到无用的“无效请求参数”错误。
要设置tracking_code,请将tracking_codes列表更新为属性。每个名称/值对的格式必须为:{"type": "tracking_code", "name": "[a name you have registered]", "value": "[any string]"}
。因此,例如,如果您已将“personid”注册为有效的tracking_code,则可以将PUT转至/2.0/users/ [userid]正文
{"tracking_codes": [{"type": "tracking_code", "name": "personid", "value": "1318231313"}]}
我没有找到任何方法删除一旦设置了tracking_code。 PUT:空列表什么都不做。最好的可能性似乎是将一个空字符串作为跟踪代码的值,但它当然仍然返回。