Angular 6-尝试读取八位字节流内容时HttpClient.get 401错误响应

时间:2019-03-04 10:55:01

标签: angularjs http httpclient oauth-1.0a

我试图调用rest api,该api返回Angular 6中的八位字节流内容。

请求如下:

fetchOutput(jobId : string,outputId:string) : {

    const options = {
        headers: new HttpHeaders( {
            'Content-Type': 'application/octet-stream',
            'ContentDisposition' : 'attachment',
            'ContentDisposition.FileName' : 'TEST_OUTPUT.csv' } ),
        responseType: 'blob' as 'blob'
      };

    var endpoint = "https://myHost/api/jobs/1/output/2/?oauth_consumer_key=123&oauth_signature_method=HMAC-SHA1&oauth_nonce=651487208&oauth_timestamp=1551696001&oauth_version=1.0&format=csv&oauth_signature=Em12lsCwiEbsj4="

    return this.httpClient.get(endpoint, options);
}

下面是对该剩余API的调用:

fetchOutput(jobId,outputId).subscribe((data: any) => {

    let b:any = new Blob([data], { type:  "application/octet-stream" });
    console.log(b);
});

我得到的错误是:

error:{ Blob
size: 0
type: "text/xml" }

name: "HttpErrorResponse"

ok: false

status: 401

statusText: "Unauthorized"

另外,请注意,当我复制相同的端点并命中邮递员时,它工作得很好。通过ajax触发的相同请求也可以成功运行。

0 个答案:

没有答案