Om met de API te kunnen werken, moet je je eerst aanmelden. Je moet immers een eenduidige ID hebben die jou kan identificeren. Je zult je softwareproject dan ook eerst moeten aanmelden om een API-sleutelpaar te krijgen dat bestaat uit een client_id en een client_secret. Die heb je nodig om je mee te authenticeren en die zijn uniek voor elke applicatie. Besef dus goed dat de ID alleen voor deze applicatie geldt en dus niet voor jezelf. Maak je meerdere applicaties, dan moet je voor ze allemaal een eigen sleutelpaar aanvragen.
Bij het aanmelden van je project moet je aangeven of het om een server-, browser- of native-applicatie gaat. Bij een serverapplicatie gaat het om een web-based app die back-end code gebruikt en bijvoorbeeld toegang heeft tot een database. Een browserapplicatie werkt geheel client-side met bijvoorbeeld JavaScript. Dergelijke applicaties kunnen geen data bewaren. Een native-applicatie draait bijvoorbeeld op een mobiel apparaat. Het afhandelen van de OAuth2-authenticatie gaat voor een server-, browser– en een native-app op verschillende manieren.
Als je de gegevens binnen hebt, kun je je daarmee aanmelden bij de OAuth 2.0 authenticatieserver. Die hobbel moet je nemen om een access_token te krijgen waarmee je de API uiteindelijk kunt gaan gebruiken.
Voor een server- of native-app open je
https://my.hidrive.com/client/authorize?client_id=<client_id>&response_type=code&scope=admin,rw
en dan ga je naar je ingestelde redirect_uri met daarin een code-parameter. Die heb je weer nodig om de acces_token te krijgen:
curl -X POST –data
“client_id=<client_id>&client_secret=<client_secret>&grant_type=authorization_code&code=<code>” \
https://my.hidrive.com/oauth2/token
De resulterende json bevat dan de access_token, en daarmee is de authenticatie een feit.
Voor een browser-app open je
https://my.hidrive.com/client/authorize?client_id=<client_id>&response_type=token&scope=admin,rw
en dan heeft de redirect_uri meteen een access_token-parameter.
Met commando’s zoals
curl -X “GET” \
-H “Authorization: Bearer <access_token>” \
-d “fields=id,name,created,refresh_token.expires” \
https://api.hidrive.strato.com/2.1/app/me
kun je vervolgens gegevens uitwisselen. Online staat een complete API-reference om te kijken wat de mogelijkheden zijn. Je kunt er bestanden mee uploaden, downloaden en verwijderen, mappen mee aanmaken – kortom zo’n beetje alle operaties die je normaal vanuit de webinterface handmatig op je cloudopslag kunt doen.