Hallo Zusammen,
ich möchte gerne auf die API von i-doit (open) zugreifen, leider komme ich nicht wirklich weiter. Ich habe die api-client-php heruntergeladen,
cd /home/system/php
composer require idoit/apiclient
aber das Beispiel von der GitHub-Seite funktioniert schon nicht:
hello2.php
<?php
use Idoit\APIClient\API;
use Idoit\APIClient\Idoit;
require_once 'vendor/autoload.php';
$api = new API([
API::URL => 'https://demo.i-doit.com/src/jsonrpc.php',
API::KEY => 'c1ia5q',
API::USERNAME => 'admin',
API::PASSWORD => 'admin'
]);
$request = new Idoit($api);
$info = $request->readVersion();
var_dump($info);
php8.0 hello2.php
PHP Fatal error: Uncaught Error: Class "Idoit\APIClient\API" not found in /home/system/php/hello2.php:8
Stack trace:
#0 {main}
thrown in /home/system/php/hello2.php on line 8
die erforderlichen PHP-Module sind installiert
php8.0 -m
[PHP Modules]
bcmath
...
curl
date
...
json
...
openssl
...
zlib
Passe ich das USE an:
<?php
use bheisig\idoitapi\API;
use bheisig\idoitapi\Idoit;
require_once 'vendor/autoload.php';
$api = new API([
API::URL => 'https://demo.i-doit.com/src/jsonrpc.php',
API::KEY => 'c1ia5q',
API::USERNAME => 'admin',
API::PASSWORD => 'admin'
]);
$request = new Idoit($api);
$info = $request->readVersion();
var_dump($info);
ist zumindest das 'Class not found' verschwunden,
php8.0 hello.php
PHP Fatal error: Uncaught RuntimeException: Unable to initiate cURL session in /home/system/php/vendor/idoit/apiclient/src/API.php:349
Stack trace:
#0 /home/system/php/vendor/idoit/apiclient/src/API.php(549): bheisig\idoitapi\API->connect()
#1 /home/system/php/vendor/idoit/apiclient/src/API.php(471): bheisig\idoitapi\API->execute()
#2 /home/system/php/vendor/idoit/apiclient/src/Idoit.php(45): bheisig\idoitapi\API->request()
#3 /home/system/php/hello.php(16): bheisig\idoitapi\Idoit->readVersion()
#4 {main}
thrown in /home/system/php/vendor/idoit/apiclient/src/API.php on line 349
aber so richtig gut sieht es noch immer nicht aus:
Grundsätzlich zugreifen kann ich auf den Server
curl --data '{"version": "2.0","method": "idoit.version","params": {"apikey":"c1ia5q","language": "en"},"id": 1}' --header "Content-Type:application/json" --user admin:admin https://demo.i-doit.com/src/jsonrpc.php
{"id":1,"jsonrpc":"2.0","result":{"login":{"userid":"9","name":"i-doit Systemadministrator ","mail":"i-doit@acme-it.example","username":"admin","tenant":"ACME IT Solutions","language":"en"},"version":"26","step":"","type":"PRO"}}
Ich habe erstmal versucht den Demo-Rechner https://demo.i-doit.com/src/jsonrpc.php zu erreichen um Probleme mit meiner I-Doit Installation auszuschließen. php8.0 nutze ich, da i-Doit in der Version 25 noch "8.0.30 (8.0 recommended)" empfiehlt.
Hat jemand einen Tip für mich, was mache ich falsch?
Grüße