Using API keys
An API key grants access to a certain set of files, with various permissions. It is very useful and quite convenient to use. Since it is nothing more than a character string, one could think of it as a long and pseudorandom special password.
To learn how to set API keys, read this part of the documentation. |
1. Download
To use an API key to download a file, see this script:
#!/usr/bin/env python3
# We need the girder client module.
import girder_client
# First, we initiate the client with the girder server address.
gc = girder_client.GirderClient(apiUrl='https://girder.math.unistra.fr/api/v1')
# We authenticate using only the API key
gc.authenticate(apiKey='KEY') (1)
# We download the file using its file ID. The path indicates where the file
# should be written (the full file name should be included at the end of the path)
gc.downloadFile(fileId='FILEID', path='PATH') (2)
1 | KEY is the only needed information to authenticate. |
2 | FILEID should be replaced by the actual Girder file ID and PATH should be the path where to store the results, including the desired file name and extension. |
2. Upload
To upload using an API key:
#!/usr/bin/env python3
# We need the girder client module.
import girder_client
# First, we initiate the client with the girder server address.
gc = girder_client.GirderClient(apiUrl='https://girder.math.unistra.fr/api/v1')
# We authenticate using only the API key
gc.authenticate(apiKey='KEY') (1)
# /!\ This is mandatory: we have to open the file in read mode before
# uploading it
f = open('PATH', 'r') (2)
# Now we can upload the file (3)
gc.uploadFile(parentId='PID', stream=f, name="NAME", size=SIZE, parentType='TYPE')
1 | KEY is the only needed information to authenticate. |
2 | PATH should be replaced by the full path to the file to read. r stands for "read mode". |
3 | PID should be replaced by the parent directory ID (on the Girder server). f is the read stream defined previously . NAME should be replaced by the desired file name (on the Girder server). SIZE should be replaced by the file size (in bytes). TYPE is either folder, user, or collection. |