0

目前正在努力将 CheckBoxAPI 添加到我们的 Web 服务中,让多步安全处理工作似乎是一个相当大的挑战。我按照 logi Info 网站上的说明进行操作,但我的努力产生了 401 未经授权的错误。

我可以评论这两个数据表,它只会输出两个身份验证令牌,但我似乎无法正确传递它们。任何指导都会有很大帮助。

'''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&amp;folder_id=%7Bint%7D&amp;is_favorite=%7Bbool%7D&amp;page_size=%7Bint%7D&amp;page_num=%7Bint%7D&amp;status=%7Benum%7D&quot; "
                >
                <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 错误,如果有帮助,我也可以发布堆栈跟踪。在标题方面不是很强大,任何帮助都会很棒。

4

1 回答 1

-1

原来 access_token 必须用'Bearer'标签指定,即 <HttpBodyParams access_Token="@Session.authorization~" /> </HttpBody>

于 2019-07-13T02:17:05.863 回答