Expand my Community achievements bar.

The Community Advisors application is now OPEN for the second class of 2024. Apply to become a part of this exclusive program!
SOLVED

Download document using the API

Avatar

Level 10

Hello,

 

I would like to download the binary of a document via the API to get a blob object. 

Is this somehow possible? I cannot find the corresponding information using the API-explorer.

I know, that I can retrieve the field downloadURL, but using this requires to be logged in to Workfront.

 

Thanks in advance.

 

Regards

Lars

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

That's what you have to do. You have to get the download url, and then download it with that url, and both of those require an API key or a session ID.

View solution in original post

7 Replies

Avatar

Correct answer by
Community Advisor

That's what you have to do. You have to get the download url, and then download it with that url, and both of those require an API key or a session ID.

Avatar

Level 2

How can I get the file extension in the endpoint -  /attask/api/v17.0/document/search?projectID=xxxxxxxxx&fields=folders,downloadURL . I tried adding fileType, but I'm getting below message.

 

"field 'fileType' is not available"
Could you please help?

Avatar

Community Advisor

The file Type parameter is on the version object, so if you include currentVersion:ext, that should give it to you.

Avatar

Level 1

Hey Chris,

This information has be quite useful, however curious how to navigate the Download URL call returning the HTML webpage vs. downloading the binary. The API Key authenticates, but does returns the HTML page. Any thoughts?

Avatar

Level 1

I am also having a problem downloading a document. I am providing an apiKey (I've tried in both $body and $header) in a CURL command through Powershell.

The $url variable contains something like this:
https://<mycompany>.my.workfront.com/internal/document/download?ID=abc123456def123456
$downloadResponse = Curl -Uri $url -Header $header -Body $body -OutFile $downloadPath

All I am getting back is a 4k file, starting with this:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
 
<body onload="document.forms[0].submit()">
<noscript>
<p>
<strong>Note:</strong> Since your browser does not support JavaScript,
you must press the Continue button once to proceed.
</p>
</noscript>

 

Avatar

Level 1

Having the exact same error. If i open the provided URL in my browser it downloads just fine; but trying to do it programmatically produces an error.

 

Were you able to solve the issue?