Cloudintegratie met de HiDrive-API

Noud van Kruysbergen
0

Inhoudsopgave

Bestanden opslaan, back-uppen en uitwisselen via de cloud is met een cloudopslagdienst als HiDrive niet al te moeilijk. Je kunt dat zelfs integreren in je eigen programma’s. Je hebt daar als ontwikkelaar alleen de API van HiDrive voor nodig.

Met een aantal NAS-apparaten van bijvoorbeeld Synology en QNAP kun je automatische back-ups naar HiDrive instellen. Door het opgeven van de inloggegevens hebben zij met behulp van een API dan toegang tot je cloudopslag. Maar je kunt ook met je eigen software toegang tot de HiDrive-cloud krijgen door die zelfde API te gebruiken.

De API van HiDrive is een RESTful API. REST is een afkorting van REpresentational State Transfer, en dat is een architectuur voor webservices. REST-applicaties werken vaak met een server waar data mee uitgewisseld wordt. Om toegang tot die data te krijgen, moet de applicatie die met de API contact met de server wil maken zich identificeren. De server bewaart verder geen informatie over de client en welke data er uitgewisseld worden.

De opdrachten richting de cloudserver gaan daarbij met commando’s in de vorm van GET, PUT en POST. De API antwoord dan in json-formaat.

Contact maken

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.

Doorlezen is gratis, maar eerst even dit:

Dit artikel is met grote zorg samengesteld door de redactie van c’t magazine – het meest toonaangevende computertijdschrift van Nederland en België. Met zeer uitgebreide tests en praktische workshops biedt c’t de diepgang die je nergens online vindt.

Bekijk de abonnementen   Lees eerst verder

Ontwikkelen

Strato stelt op GitHub een aantal SDK’s ter beschikking, waaronder een Android-SDK, een JavaScript-SDK en een WinJS-SDK. Ook is er een community waar je terecht kunt voor vragen, of waar wellicht al een antwoord op je vraag staat. In de App Showroom staan voorbeelden van applicaties die deze API gebruiken. En niet geheel toevallig staat daar ook de mobiele app van HiDrive zelf bij, want die werkt zelf ook met deze API.

Het is met behulp van de HiDrive-API dan ook niet moeilijk om vanuit een webapplicatie of een smartphone-app toegang te krijgen tot de HiDrive-cloud. Dat werkt geheel transparant op de achtergrond, zonder dat de gebruiker daar veel van merkt. Probeer het zelf eens uit met de HiDrive-aanbieding hieronder speciaal voor onze lezers.

HiDrive-aanbod voor c’t-lezers

Een HiDrive-abonnement voor 1 TB kost 7,50 euro per maand. Als je daar de opties van de uitgebreide toegangsprotocollen, de end-to-end-encryptie en de mogelijkheid tot het maken van back-ups van mobiele apparaten en computers bij optelt, kom je op bijna het driedubbele. We kunnen in samenwerking met Strato voor onze lezers echter de volgende aanbieding doen: het 1TB-abonnement INCLUSIEF alle genoemde opties voor de basisprijs van (blijvend) 7,50 euro per maand. En het eerste jaar betaal je daarvoor zelfs maar één euro per maand. Je kunt na het eerste jaar gewoon opzeggen, dus je zit nergens aan vast. Ga snel naar www.strato.nl/ct om van deze aanbieding gebruik te maken.

Lees uitgebreide achtergrondinfo en meer op je gemak in c't sep/2020

Meer over

HiDrive

Deel dit artikel

Lees ook

HiDrive-aanbod voor c’t-lezers

De gratis cloudopslag van HiDrive stopt per 1 mei 2020. Die opslag werd in de praktijk echter steeds minder gebruikt omdat de mogelijkheden beperkt wa...

0 Praat mee
avatar
  Abonneer  
Laat het mij weten wanneer er