Is it possible to just download the User Submitted Files through API, instead of manually through the GUI in Data & Analysis/Export & Import/Export Data/User Submitted Files?
Thanks for your help!
> Opening the pdf links requires the login and password to be entered every time, so if we could download the zip file that'd be much more efficient, if possible
I forgot about the login requirement. You should submit a feature request to Qualtrics Support for a download user uploaded files API call.
Bump - we need this too!
Crazy that this isn't a feature, bumping this as well. That and the fact that the login page seems to stay in a loading state as it downloads the file.
I don't know how recently this Retrieve a User-Uploaded File API method was introduced, but I've just gotten it working in CURL.
Just note that you'll need to specify the output method or you'll get this warning
-----------------------
Warning: Binary output can mess up your terminal. Use "--output -" to tell
Warning: curl to output it to your terminal anyway, or consider "--output
Warning:
-----------------------
Unless you've constrained uploads by type, you'll need to first ascertain the filetype so that you can hard code the file extension.
curl --request GET \\
--url https://ca1.qualtrics.com/API/v3/surveys/surveyId/responses/responseId/uploaded-files/fileId \\
--header 'Content-Type: application/json' \\
--header 'X-API-TOKEN: ' --output respondant1-File1.docx
Hope this helps someone
I had a similar issue with uploaded files as well and found that if you use a combination of the Q#_URL, Q#_Name, you could easily automate the download using Excel VBA. From there, you could run a zip on the directory (if you'd like).
I created the following which allows you to select the range of files (from the CSV) and in this case, I had other fields that indicated the user's first name (Column C), last name (column D), file extension (extracted from file name (column M)) and the URL for the file (Column P).
I then renamed the file in question to:
Sub downloadPictures()
Dim b As Range
Dim rng As Range, fname As Range, lname As Range, ftype As Range, url1 As Range,
Dim filename As String, fname_mask As String, dpath As String, strURL As String
dpath = "
Set rng = Selection
For Each b In rng.Rows
Dim colnum As Integer
colnum = b.Row
Set fname = Range("C" & colnum)
Set lname = Range("D" & colnum)
Set ftype = Range("M" & colnum)
Set url1 = Range("P" & colnum)
l1 = Len(ftype.Value)
l2 = InStr(1, ftype.Value, ".", vbTextCompare) - 1
filename = Left(fname.Value, 1) & lname.Value & Right(ftype.Value, l1 - l2)
strURL = url1.Value
Call DownloadFileFromURL(strURL, filename, dpath)
Next
End Sub
Leave a Reply
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.