1

如何将用户添加到版本一?
我想使用 rest api 或类似的方式。

4

2 回答 2

2

您可以通过 API 添加会员资产。

VersionOne 社区站点上描述了添加资产

首先,您必须了解 Member 资产的所有必需属性。您可以访问 VersionOne 实例的元数据 API 端点以发现需要哪些属性以及从何处获取它们的有效数据。

在https://www14.v1host.com/v1sdktesting/meta.v1/?xsl=api.xsl#Member访问我们的测试实例 Meta api ,我看到属性NameNicknameDefaultRoleNotifyViaEmailSendConversationEmails是必需的。我们也需要UsernamePassword所以他们可以登录。

Role是一个关系,所以我们需要知道相关的角色 ID。我们访问https://www14.v1host.com/v1sdktesting/rest-1.v1/Data/Role以发现它们并为我们的会员选择描述为“开发者”的“角色:5”。

然后,我们可以将 HTTP POST 定向到/rest-1.v1/Data/Member带有诸如

<Asset>
  <Attribute name="Username" act="set">juser</Attribute>
  <Attribute name="Password" act="set">swordfish</Attribute>
  <Attribute name="Name" act="set">Johnny User</Attribute>
  <Attribute name="Nickname" act="set">Johnny</Attribute>
  <Attribute name="NotifyViaEmail" act="set">true</Attribute>
  <Attribute name="SendConversationEmails" act="set">true</Attribute>
  <Relation name="DefaultRole" act="set">
    <Asset idref="Role:5" />
  </Relation>
</Asset>

响应正文将返回新创建的资产 XML,或报告任何错误。

于 2013-07-03T18:51:37.563 回答
0

当我在版本中创建项目时,我使用应用程序密钥“$application_key”并在 php 中发布

$post_data = <<<FOO
<Asset>
  <Attribute name="Username" act="set">juser</Attribute>
  <Attribute name="Password" act="set">swordfish</Attribute>
  <Attribute name="Name" act="set">Johnny User</Attribute>
  <Attribute name="Nickname" act="set">Johnny</Attribute>
  <Attribute name="NotifyViaEmail" act="set">true</Attribute>
  <Attribute name="SendConversationEmails" act="set">true</Attribute>
  <Relation name="DefaultRole" act="set">
    <Asset idref="Role:5" />
  </Relation>
</Asset>
FOO;


$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'https://www14.v1host.com/v1sdktesting/rest-1.v1/Data/Member');
curl_setopt($ch, CURLOPT_POST, 1); // GET // 1 = POST
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer {$application_key}",
    "Content-Type: application/xml"
]);
$server_output = curl_exec ($ch);
curl_close ($ch);
$simpleXml = simplexml_load_string($server_output);
于 2016-04-26T14:53:33.140 回答