question

Nigel McLaughlin avatar image
Nigel McLaughlin asked ·

Authentication Intermittently failing PHP SDK

I have an issue that can be consistently recreated via the PHP SDK.

When trying to authenticate my Sandbox account, 2 out of 3 login attempts will fail with an unrecoverable error.

[02-Dec-2019 15:50:36 Australia/Melbourne] PHP Fatal error:  Uncaught Exception: Serialization of 'Closure' is not allowed in [no active file]:0
Stack trace:
#0 {main}
  thrown in [no active file] on line 0
[02-Dec-2019 15:50:39 Australia/Melbourne] PHP Fatal error:  Uncaught Exception: Serialization of 'Closure' is not allowed in [no active file]:0
Stack trace:
#0 {main}
  thrown in [no active file] on line 0
[02-Dec-2019 15:50:42 Australia/Melbourne] PHP Fatal error:  Uncaught Exception: Serialization of 'Closure' is not allowed in [no active file]:0
Stack trace:
#0 {main}
  thrown in [no active file] on line 0
[02-Dec-2019 15:50:45 Australia/Melbourne] PHP Fatal error:  Uncaught Exception: Serialization of 'Closure' is not allowed in [no active file]:0
Stack trace:
#0 {main}
  thrown in [no active file] on line 0
[02-Dec-2019 15:50:47 Australia/Melbourne] PHP Fatal error:  Uncaught Exception: Serialization of 'Closure' is not allowed in [no active file]:0
Stack trace:
#0 {main}
  thrown in [no active file] on line 0
[02-Dec-2019 15:50:51 Australia/Melbourne] PHP Fatal error:  Uncaught Exception: Response has unsuccessful status in /vendor/ringcentral/ringcentral-php/src/Http/Client.php:44
Stack trace:
#0 /vendor/ringcentral/ringcentral-php/src/Platform/Platform.php(329): RingCentral\SDK\Http\Client->send(Object(GuzzleHttp\Psr7\Request))
#1 /vendor/ringcentral/ringcentral-php/src/Platform/Platform.php(465): RingCentral\SDK\Platform\Platform->sendRequest(Object(GuzzleHttp\Psr7\Request), Array)
#2 /vendor/ringcentral/ringcentral-php/src/Platform/Platform.php(221): RingCentral\SDK\Platform\Platform->requestToken('/restapi/oauth/...', Array)
#3 /_classes/TelephonyRingCentral.class.php(55): RingCentral\SDK\Platform\Platform->login(Array, '', 'some_password')
#4 /Users/nigelmclaughlin/Documents/WIP/REAS_ in /vendor/ringcentral/ringcentral-php/src/Http/Client.php on line 52

The credentials haven't changed in between. If I try again, sometimes it's successful and sometimes it isn't.

Has anyone else experienced this issue?

apiauthenticationphpphp sdkapi auth
1 |1000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

Khadhar Koneti avatar image
Khadhar Koneti answered ·

Hi, This is purely serialization issue. Are you using Closure or it is coming PHP SDK ? Please have a look at the below link once.

https://stackoverflow.com/questions/13734224/exception-serialization-of-closure-is-not-allowed

Mean while you can drop an email to ring central dev team. devsupport@ringcentral.com

Share
1 |1000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

Nigel McLaughlin avatar image
Nigel McLaughlin answered ·

After digging into the SDK code it turns out it's returning a 429 error due to rate limiting and throwing an exception due to this.

1 comment Share
1 |1000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

In that case, read this blog article and change your code to solve your problem.

https://medium.com/ringcentral-developers/ringcentral-api-rate-limit-explained-2280fe53cb16

0 Likes 0 · ·
Phong Vu avatar image
Phong Vu answered ·

How to deal with 429 response would be the answer.

Share
1 |1000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

Anirban Sen Chowdhary avatar image
Anirban Sen Chowdhary answered ·

429 is as you discovered a rate limiting issue which actually restrict the API from multiple call for a certain number of time.

There is an official docs available which will help you to understand how this rate limit works and how can you avoid or fix with usage policy :

https://developers.ringcentral.com/guide/basics/rate-limits

Share
1 |1000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.