好的,这是我的问题。如果有人问过这个问题,请原谅我。我在网站上搜索过,无法找到我要找的东西。我是非常非常非常新的Workfront,他们的文档似乎相对于我想要做的事情而言非常有限。
我知道如何从我的数据库中获取查询并将其转换为JSON。
我可以登录Workfront并创建自定义表单。我可以添加一个下拉列表。
我需要做的是将JSON放入页面的下拉列表中。所以我甚至不知道popt是否是正确使用的API。
我知道我需要使用
/attask/api/v7.0/popt?method=post&updates=[{json obj 1}, {json obj 2}]
但我不知道如何将其与正确的下拉菜单相关联。
如果有人能指出我正确的方向,我将非常感激。
Per Brian的请求如下:
有没有办法批量添加"?你能解释一下参数吗? $ option是下拉列表中显示的字符串吗?怎么样和标签值?如何找到下拉列表的ID?
已添加
感谢@Brian R的所有帮助。
我想知道下拉列表中的选择次数是否有限制。我的列表将有超过一千行",所以我需要它才能有超过一千个条目。
此外,有没有办法批量插入",一次将多个JSON元素传递给api?
看起来我应该使用PUT而不是POST来保存新数据,但是如何摆脱 旧 数据呢?
答案 0 :(得分:1)
我很惊讶popt是一个标签...
所以要清楚,你不想在下拉列表中创建新选项(它是一个有固定内容的有限大小),但你确实想为每个项目分配值,所以如果有人选择选项' bob'作为一个人类可读的选择,它将被分配一个您生成的JSON对象。是吗?
在这种情况下,您需要单独更新每个弹出窗口。因此,您首先需要通过以下调用获取下拉列表中每个选项的列表:
GET https://<url>.my.workfront.com/attask/api/v7.0/PARAM/<ID of the parameter(dropdown list)>?fields=parameterOptions&apiKey=<key>
然后,您将遍历每个result.parameterOptions并设置值:
foreach($option in $result.parameterOptions){
{
PUT https://<url>.my.workfront.com/attask/api/v7.0/POPT/<$option>?value=<json value>&label=<human readable choice>&apiKey=<key>
}
要解决您的响应,其中参数为空(带有空值的下拉列表),您只需要自己创建弹出窗口。您首先需要确定如何从JSON对象中提取数据,因为每个下拉选项至少有一个且不超过两个条目(人类可读的选择,这是必需的) ,以及分配给所述选择的可选值。)
foreach $element in $JSON
{
$label = <extract label from $element>
[$value = <optional, extract value from $element>]
POST https://<url>.my.workfront.com/attask/api/v7.0/POPT?<label=$label>[<&value=$value>]¶meterID=<ID of dropdown list>&apiKey=<key>
}