I came across a peculiar requirement recently, wherein we needed to download files in a scheduled job. As you all know downloading a file can be a tricky affair with Salesforce.
Fortunately, using REST API we can achieve it. So, the solution became somewhat easier, wherein we could make a CURL call and download the file.
However, all usual cases reference using login name/ password or some reference using the Connected app (OAuth) route. For my specific use case, I already have a machine setup with SFDX and with target orgs authenticated.
This solution helps just in that case. With command line scripting it is quite easy (for folks who are experienced with the command line). It took some time for me to get it working.
Note: This approach should be chosen after appropriate review/analysis of other approaches, namely, OAuth-based login flows for app authentication.
- SFDX - to retrieve auth tokens
- Curl - to make API calls via the command line
- JQ - to parse JSON in the command line