当前正在努力将CheckBoxAPI添加到我们的网络服务中,要使多步安全处理正常工作似乎是一个很大的挑战。我遵循了Logi Info网站上的指示,但是我的努力产生了401未经授权的错误。
我可以标记两个数据表,它只会输出两个auth令牌,但是我似乎无法正确地传递它们。任何指导都会有很大帮助。
'''xml
<?xml version="1.0" encoding="utf-8"?>
<Report
ID="CheckBox7"
>
<LocalData
ID="cbAuth"
>
<DataLayer
AcceptType="application/json"
ConnectionID="API_Auth"
HttpMethod="POST"
ID="RESTDataLayer1"
RemoveNamespace="True"
Type="REST"
UrlPath="/.../oauth2/token"
>
<HttpBody
ContentType="application/x-www-form-urlencoded"
>
<HttpBodyParams
grant_type="password"
password="passwordGoesHere"
username="UsernameGoesHere"
/>
</HttpBody>
<Flattener/>
</DataLayer>
</LocalData>
<SetSessionVariables
ID="auth"
>
<SessionParams
access_token="@Local.access_token~"
/>
</SetSessionVariables>
<Body>
<DataTable
ID="dtSurveyList"
SortArrows="True"
>
<DataLayer
ConnectionID="API_Queries"
HttpMethod="GET"
ID="RESTDataLayer2"
Type="REST"
UrlPath="/v1/.../survey-list?search_text=%7Bstring%7D&folder_id=%7Bint%7D&is_favorite=%7Bbool%7D&page_size=%7Bint%7D&page_num=%7Bint%7D&status=%7Benum%7D" "
>
<Remark>
<HttpBody
ContentType="application/x-www-form-urlencoded"
>
<HttpBodyParams
access_Token="@Session.authorization~"
/>
</HttpBody>
</Remark>
<Flattener/>
</DataLayer>
<AutoColumns/>
</DataTable>
<Label
Caption="@Local.access_token~"
/>
<LineBreak/>
<Label
Caption="@Session.access_token~"
/>
</Body>
<ideTestParams/>
</Report>
'''
预期的输出应该是api中的表格,实际的输出是401错误,如果有帮助,我也可以发布堆栈跟踪。在标题方面不是很强大,任何帮助都会很棒。
答案 0 :(得分:-1)
结果证明必须使用'Bearer'标签指定access_token,即
<HttpBodyParams
access_Token="@Session.authorization~"
/>
</HttpBody>