Tredjepartsåtkomst till energidata
Den här artikeln beskriver hur du får tredjepartsåtkomst till en Metry-användares energidata. Se till att du har följande på plats innan du fortsätter:
- Utvecklarkonto (du får detta när du ingår ett Metry-utvecklarpartnerskap)
- App registrerad i ditt utvecklarkonto
- Demokonto med exempeldata
OAuth 2-konceptet
Metry använder OAuth 2 för att ge tredjepartsapplikationer åtkomst till slutanvändarens energidata. OAuth 2 är ett branschstandardiserat ramverk för auktorisering som hanterar godkännandeinteraktionen mellan resursägaren (energianvändaren), tredjepartsapplikationen och Metry.
Godkännandeprocessen är enkel:
- Användaren klickar på en “Anslut med Metry”-knapp i din applikation.
- Användaren omdirigeras till Metry och en samtyckeskärm.
- Användaren godkänner att tredjepartsapplikationen får åtkomst till dess data.
- Användaren omdirigeras tillbaka till tredjepartsapplikationen.
- Tredjepartsapplikationen har nu åtkomst till användarens energidata.
Alternativ för att godkänna din applikation
- Användaren kan kontakta support@metry.io så godkänner vi appen manuellt.
- Lägg till din applikation på integrationssidan som alla Metry-användare kan se.
1. Anslut med Metry-knapp
Knappen är en länk till https://app.metry.io/id/oauth/authorize med följande parametrar:
- client_id: Finns i utvecklarportalen.
- client_secret: Finns i utvecklarportalen.
- redirect_uri: Din applikations URL.
- grant_type: authorization_code
- response_type: code
- state: Valfri sträng för att skicka tillbaka anpassade variabler.
- scope: basic
2. Ta emot auktoriseringskoden
Om användaren godkänner åtkomsten omdirigeras hen tillbaka till din redirect_uri med en code-parameter. Auktoriseringskoden är bara giltig i 10 sekunder – begär en refresh token inom den tiden.
3. Begär refresh token och access token
Gör en POST-förfrågan till https://app.metry.io/oauth/token:
{
"grant_type": "authorization_code",
"code": "{authorization_code}",
"client_id": "{client_id}",
"client_secret": "{client_secret}",
"redirect_uri": "{redirect_uri}"
}
Svaret innehåller en access_token (giltig i 1 timme) och en refresh_token. Spara refresh token på ett säkert ställe.
4. Begär ny access token
När access token löpt ut, gör en ny POST-förfrågan till https://app.metry.io/oauth/token:
{
"grant_type": "refresh_token",
"refresh_token": "{refresh_token}",
"client_id": "{client_id}",
"client_secret": "{client_secret}"
}
5. Använd API:et
Skicka access token i en Authorization-header:
Authorization: Bearer {access_token}
Se API-referensen för mer information.