Dart
Dart
Shopware 6 - Get OAuth2 Access Token using Client Credentials (Integration)
See more Shopware 6 Examples
Demonstrates how to get an OAuth2 access token with an integration.Chilkat Dart Downloads
import 'package:chilkat/chilkat.dart';
void main() {
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
final http = CkHttp();
// Sends the following POST
// POST /api/oauth/token
// {
// "grant_type": "client_credentials",
// "client_id": "<client-id>",
// "client_secret": "<client-secret>"
// }
// Use this online tool to generate code from sample JSON:
// Generate Code to Create JSON
// The following JSON is sent in the request body.
final json = CkJsonObject();
json.updateString('grant_type', 'client_credentials');
json.updateString('client_id', 'client-id');
json.updateString('client_secret', 'client-secret');
final resp = CkHttpResponse();
try {
http.httpJson('POST', 'https://my-shopware-6-shop.de/api/oauth/token', json, 'application/json', resp);
} on ChilkatException catch (e) {
print(e.lastErrorText);
return;
}
final sbResponseBody = CkStringBuilder();
resp.getBodySb(sbResponseBody);
final jResp = CkJsonObject();
jResp.loadSb(sbResponseBody);
jResp.emitCompact = false;
print('Response Body:');
print(jResp.emit());
final respStatusCode = resp.statusCode;
print('Response Status Code = $respStatusCode');
if (respStatusCode >= 400) {
print('Response Header:');
print(resp.header);
print('Failed.');
return;
}
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// {
// "token_type": "Bearer",
// "expires_in": 600,
// "access_token": "xxxxxxxxxxxxxx",
// "refresh_token": "token"
// }
// Sample code for parsing the JSON response...
// Use the following online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
final tokenType = jResp.stringOf('token_type');
final expiresIn = jResp.intOf('expires_in');
final accessToken = jResp.stringOf('access_token');
final refreshToken = jResp.stringOf('refresh_token');
// Save our JSON to a file (to be used in other examples..)
jResp.writeFile('qa_data/tokens/shopware6.json');
}