This page shows you how to get access to the data at
https://api.json-content-importer.com/extra/api/getdata.php?gd=acc
This API / URL expects:
- Useragent: mozilla
- HTTP-Header with “Authorization:Bearer TOKEN”
- “TOKEN” has to be obtained from
https://api.json-content-importer.com/extra/api/gettoken.php
For that user / password has to be sent by CURL-POST.
This is called oAuth2, to avoid sending user/password via http, but a TOKEN the API can check if user/password is ok.
We need two JCI-Shortcodes for that.
JCI-Template 1: The Shortcode (orderofshortcodeeval=1 tells the plugin first to execute the twig code and then the Shortcode – 10 would not execute the Shortcode, then you can see the TOKEN…)
[jsoncontentimporterpro nameoftemplate="demo-oauth" orderofshortcodeeval=1 httpstatuscodemustbe200=no]
is for the page that will show us the data.
Defined it like this:
- Name: demo-oauth
- URL: https://api.json-content-importer.com/extra/api/gettoken.php
- method: CURL-POST
- curloptions:
CURLOPT_POSTFIELDS={"user": "test", "password": "mypass"}
- twig-template:
access_token: {{access_token | striptags}}<br> [jsoncontentimporterpro nameoftemplate="demo-oauth2" curloptions="CURLOPT_USERAGENT=mozilla;CURLOPT_HTTPHEADER=Authorization:Bearer {{access_token | striptags}}"]
Ok, we need JCI-Template 2:
- name: demo-oauth2
- URL: https://api.json-content-importer.com/extra/api/getdata.php?gd=acc
- method: CURL-GET
- curloptions: are sent from the other JCI-Template, where this Shortcode is used
- twig-template:
{% if datasuccess %} {% for b in boat %} boat-id: {{b.id}}<br> {% endfor %} <hr> {% for h in harbour %} harbour-id: {{h.id}}<br> {% endfor %} {% endif %}
In Action:
access_token: a029d0df84eb5549c641e04a9ef389e5boat-id: 45353
boat-id: 324254
boat-id: 6456
boat-id: 287633536
boat-id: 35353
boat-id: 87686
harbour-id: 1425
harbour-id: 96534