如何将用户添加到版本一?
我想使用 rest api 或类似的方式。
问问题
893 次
2 回答
2
您可以通过 API 添加会员资产。
首先,您必须了解 Member 资产的所有必需属性。您可以访问 VersionOne 实例的元数据 API 端点以发现需要哪些属性以及从何处获取它们的有效数据。
在https://www14.v1host.com/v1sdktesting/meta.v1/?xsl=api.xsl#Member访问我们的测试实例 Meta api ,我看到属性Name
、Nickname
、DefaultRole
、NotifyViaEmail
和SendConversationEmails
是必需的。我们也需要Username
,Password
所以他们可以登录。
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 回答