如何通过VersionOne REST API添加链接到Story?

时间:2014-05-13 14:00:25

标签: api rest versionone

我可以通过POST创建具有相应XML有效负载的/VersionOne/rest-1.v1/Data/Story新故事。设置所有属性(包括关系)就像一个魅力。但是,我无法弄清楚如何将Link资产添加到Story资产。

当我使用以下XML有效负载尝试POST /VersionOne/rest-1.v1/Data/Link时:

<Asset href='/VersionOne/rest-1.v1/New/Link'>
  <Attribute name='AssetType' act='set'>Link</Attribute>
  <Relation name='Asset' act='set'>
    <Asset href='/VersionOne/rest-1.v1/Data/Story/123' idref='Story:123'/>
  </Relation>
  <Attribute name='OnMenu' act='set'>true</Attribute>
  <Attribute name='URL' act='set'>http://my.example.com</Attribute>
  <Attribute name='Name' act='set'>My Link Title</Attribute>
</Asset>

然而,服务器返回:

<Error href="/VersionOne/rest-1.v1/Data/Link">
  <Message>Violation'Readonly'Link.AssetType</Message>
  <Exception class="VersionOne.DataException">
      <Message>Violation'Readonly'Link.AssetType</Message>
  </Exception>
</Error>

似乎禁止添加链接,但实际上我可以通过标准网络界面添加Link而不会出现问题。

我最初的想法是首先创建Link资产,然后使用指向该Story资产的相应关系属性更新Link

任何想法?

谢谢! (我正在使用JavaScript/jQuery

1 个答案:

答案 0 :(得分:1)

我的坏。 <Attribute name='AssetType' act='set'>Link</Attribute>有效负载中的POST属性显然是错误的 - 它正在尝试设置资产的类型(链接),这是没有意义的,因为我已经在URL中说明了类型。它没有属性(如预期的那样)完美地工作。