Skip to main content

14 replies

saraThe First StepAuthor
The First Step
September 26, 2018
Another scenario

I am trying the following method of call using Apex 

  1. Made an Authorize call to RC https://platform.devtest.ringcentral.com/restapi/oauth/authorize, Authorize call was successful and returned the 'code: XXXXXXXX' with response 
  2. Used the Code: XXXXXXX with params to make a token call https://platform.devtest.ringcentral.com/restapi/oauth/token but getting 400 error. 
Complete URL:

'https://platform.devtest.ringcentral.com/restapi/oauth/authorize?response_type=code&client_id=<CLIENT ID>&client_secret=<SECRET> &redirect_uri=<REDIRECT URI>&state=step2'

'https://platform.devtest.ringcentral.com/restapi/oauth/token?code=<AUTHIRIZE CODE FROM THE RESPONSE>&grant_type=password&client_id=<CLIENT ID>&client_secret=<SECRET> &redirect_uri=<REDIRECT URI>'


Any thoughts?
Employee
September 27, 2018
If you want to jump to Apex sooner or later. Why not simply try some programming language instead of Postman?

As far as I can tell, Apex is similar to Java.  Here is how we do the authorization in Java: https://github.com/ringcentral/ringcentral-java/blob/master/src/main/java/com/ringcentral/RestClient...
Employee
September 27, 2018
I highly recommend you to read https://github.com/ringcentral/ringcentral-ruby/blob/master/lib/ringcentral.rb  

170 line of code and covers all the things you need to know. Way more direct than trying everything with Postman.

For example: for authorization part: https://github.com/ringcentral/ringcentral-ruby/blob/master/lib/ringcentral.rb#L154-L165 
Before you get the token, use back authorization, otherwise use bearer authorization.

And in order to exchange code for token: https://github.com/ringcentral/ringcentral-ruby/blob/master/lib/ringcentral.rb#L49-L54
You can see that grant_type: 'authorization_code' and client_id & client_secret are not included in post body.(they are used in Basic authorization header instead)
Employee
September 27, 2018
And you don't have to use Apex because we don't have official SDK for Apex.

You can use Javascript instead because there are ways for Apex to communicate with JavaScript.  Check this video from me: https://www.youtube.com/watch?v=bf_Z391G2cw&t=1182s

RingCentral has official SDK for JS https://github.com/ringcentral/ringcentral-js

Here is a community version maintained by me: https://github.com/tylerlong/ringcentral-js-concise