获取Zendesk附件作为base64,而不是自动下载



我需要从zendesk获取base64格式的附件文件。

我试着这样做,但对我不起作用:

`HttpRequest req=新的HttpRequest((;req.setEndpoint('https://-----.zendesk.com/attachments/token/TOKEN/?name=stvm+%2810%29.pdf’(;req.setMethod('GET'(;

Http Http=new Http((;HTTPResponse res=http.send(req(;

Blob body=res.getBodyAsBlob((;`

但它的身体价值正在发挥作用,正如我所需要的。

反应是这样的:

<html><body>You are being <a href="https://xxx.zdusercontent.com/attachment/000001/sdlfkashdf98709udfah?token=eyJhbGciOiJkaX46SgYrFzTEpYqUIzpQeNnl5BMBNoRnUOsgQj389Ei7nNcGOcfGYaavlqLL2qaIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..U8oX8QnYBM1lZMb6rhQGRA.NC3Z9kHC9ZE6HhygIHHan6xWYvoPqziVx76CZ6vcNYHBuAjV-LmBclVJYumKWKXA_PDhXX27z977XKYrLJZSc85a6lJTEqd-V2mP7U6O6r0_6E9hO8CWaA1dyxYYWw8kUsgMFUaPr0wCupxm3NbDzT03ZwO6EBJj79x4UZdauiXfEUrSwdl1pPahlQE2VfFo8DprgX9GQHzRFm5lwMrhA3crogo8Ox

谢谢!

我找到了解决问题的方法。

在salesforce apex代码中,我通过substring方法获得URL响应,并使用Pagereferece打开URL,如下所示:

String exampleMyResponse= '<html><body>You are being <a href="https://xxx.zdusercontent.com/attachment/000001/sdlfkashdf98709udfah?token=eyJhbGciOiJkaX46SgYrFzTEpYqUIzpQeNnl5BMBNoRnUOsgQj389Ei7nNcGOcfGYaavlqLL2qaIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..U8oX8QnYBM1lZMb6rhQGRA.NC3Z9kHC9ZE6HhygIHHan6xWYvoPqziVx76CZ6vcNYHBuAjV-LmBclVJYumKWKXA_PDhXX27z977XKYrLJZSc85a6lJTEqd-V2mP7U6O6r0_6E9hO8CWaA1dyxYYWw8kUsgMFUaPr0wCupxm3NbDzT03ZwO6EBJj79x4UZdauiXfEUrSwdl1pPahlQE2VfFo8DprgX9GQHzRFm5lwMrhA3crogo8Ox';
//You need to authorize your domain "https://xxx.zdusercontent.com" in remote site
Pagereference pg = new Pagereference(exampleMyResponse.substringAfter('href="')); 
Blob b = pg.getContentAsPDF();

Attachment att = new Attachment(Name = 'stvm_4', Body = b, ContentType = 'application/pdf', ParentId='Sobject_Id');
insert att;

最新更新