[#932] Access Denied

Migrated from Redmine #932 | Author: Franck Jorge
Status: Closed | Priority: High, I’m very impatient | Created: 2022-09-21


Hi, when I use the API, I get access denied. Ii checked everything in the code, and everything is correct (the url, apikey and company login).

Request:
$apiName = ‘studiophocus’;
$apiKey = ‘d2305008831dadd3a30d79e2aab4ea82e1675703236842e39ea691c2e50b3f04’;
$apiSecret = ‘a1e78e1fec3c131a7d3ed06f7315615e157360f688c8185cacefe84ac0fb6dac’;

   // Code From SimplyBookMe website
   $YOUR_COMPANY_LOGIN = $apiName;
   $YOUR_API_KEY = $apiKey;

   // Init SimplyBookMeAPI
   $loginClient = new Client('https://user-api.simplybook.me' . '/login/');
   $token = $loginClient->getToken($YOUR_COMPANY_LOGIN, $YOUR_API_KEY);

   if ($admin) {
       $url = 'https://user-api.simplybook.me/admin';;
   } else {
       $url = 'https://user-api.simplybook.me';
   }

   $this->api = new Client($url, array(
       'headers' => array(
           'X-Company-Login: ' . $YOUR_COMPANY_LOGIN,
           'X-Token: ' . $token
       )
   ));

$providers = (array) $this->api->getUnitList(false, true);

Response:

JsonRPC\Exception\InvalidJsonRpcFormatException: Invalid Request: Access denied in /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/fguillot/json-rpc/src/JsonRPC/Response/ResponseParser.php:127
Stack trace:
#0 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/fguillot/json-rpc/src/JsonRPC/Response/ResponseParser.php(102): JsonRPC\Response\ResponseParser->handleExceptions()
#1 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/fguillot/json-rpc/src/JsonRPC/Client.php(195): JsonRPC\Response\ResponseParser->parse()
#2 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/fguillot/json-rpc/src/JsonRPC/Client.php(177): JsonRPC\Client->sendPayload(‘{“jsonrpc”:"2.0…’, Array)
#3 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/fguillot/json-rpc/src/JsonRPC/Client.php(119): JsonRPC\Client->execute(‘getWorkCalendar’, Array)
#4 /Users/agencehoffman/Desktop/Workspace/studio-phocus/app/Http/Controllers/SimplyBookMeController.php(50): JsonRPC\Client->__call(‘getWorkCalendar’, Array)
#5 [internal function]: App\Http\Controllers\SimplyBookMeController->providers(‘fr’)
#6 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(80): call_user_func_array(Array, Array)
#7 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(146): Illuminate\Routing\Controller->callAction(‘providers’, Array)
#8 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(94): Illuminate\Routing\ControllerDispatcher->call(Object(App\Http\Controllers\SimplyBookMeController), Object(Illuminate\Routing\Route), ‘providers’)
#9 [internal function]: Illuminate\Routing\ControllerDispatcher->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#10 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(52): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#11 [internal function]: Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#12 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#13 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(96): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#14 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(54): Illuminate\Routing\ControllerDispatcher->callWithinStack(Object(App\Http\Controllers\SimplyBookMeController), Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request), ‘providers’)
#15 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Routing/Route.php(174): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request), ‘App\Http\Contro…’, ‘providers’)
#16 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Routing/Route.php(140): Illuminate\Routing\Route->runController(Object(Illuminate\Http\Request))
#17 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Routing/Router.php(724): Illuminate\Routing\Route->run(Object(Illuminate\Http\Request))
#18 [internal function]: Illuminate\Routing\Router->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#19 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(52): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#20 /Users/agencehoffman/Desktop/Workspace/studio-phocus/app/Http/Middleware/RouteLocalization.php(30): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#21 [internal function]: App\Http\Middleware\RouteLocalization->handle(Object(Illuminate\Http\Request), Object(Closure))
#22 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(136): call_user_func_array(Array, Array)
#23 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#24 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#25 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(64): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#26 [internal function]: Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle(Object(Illuminate\Http\Request), Object(Closure))
#27 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(136): call_user_func_array(Array, Array)
#28 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#29 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#30 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#31 [internal function]: Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#32 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(136): call_user_func_array(Array, Array)
#33 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#34 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#35 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#36 [internal function]: Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#37 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(136): call_user_func_array(Array, Array)
#38 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#39 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#40 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#41 [internal function]: Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))
#42 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(136): call_user_func_array(Array, Array)
#43 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#44 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#45 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(59): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#46 [internal function]: Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))
#47 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(136): call_user_func_array(Array, Array)
#48 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#49 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#50 [internal function]: Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#51 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#52 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Routing/Router.php(726): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#53 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Routing/Router.php(699): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#54 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Routing/Router.php(675): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#55 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(246): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#56 [internal function]: Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http{closure}(Object(Illuminate\Http\Request))
#57 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(52): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#58 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(44): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#59 [internal function]: Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#60 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(136): call_user_func_array(Array, Array)
#61 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#62 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#63 [internal function]: Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#64 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#65 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(132): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#66 /Users/agencehoffman/Desktop/Workspace/studio-phocus/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(99): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#67 /Users/agencehoffman/Desktop/Workspace/studio-phocus/public/index.php(53): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#68 /Users/agencehoffman/.composer/vendor/laravel/valet/server.php(234): require(‘/Users/agenceho…’)
#69 {main}

Franck Jorge wrote:

It’s resoolved, you can close it please.