Forum Discussion

ltctech's avatar
ltctech
New Member
5 years ago

GoToWebinar API Support

Hi,

 

It seems that the Access Token that's returned by the GoToWebinar API has increased from 28 chars to  909 chars sometime around 1AM PDT. It caused our systems to error out as it overflowed the database colum.

 

I have expanded the column in our database and it's now working again but why the sudden change? Do you really need an Access Token to be that long, especially one that expires within an hour? Ironically enough the Refresh Token that's valid for a month is still 32 chars.

 

Thanks.

  • Slimpaul's avatar
    Slimpaul
    New Contributor

    Hi,

    I just started to work with the gotoWebinar API and just ran into some issues/problems.

    Beside the various errors I got trying to authenticate via an access token (already made a support request) I asked myself if I just missunderstand the functionality of the API or I just need some advice.

     

    What I plan is that I simply subscribe users to a webinar via a PHP script on my website.

    So I started by creating the developer account, created an client and then starten using this guide and postman to get an access token.

    The  "Obtaining an authorization code" works fine but i got stuck on the "Obtain an access token" part and after fiddeling around for some hours I just asked myself "Is this even possible what I try"? 

    Because to make an API call I need a Access token .. to get an access token I need a authorization code. But the authorization code can only be obtained by call the URL with the clientId and the recirectUri and then log in and accept the required stuff.

    But I want to make this calls via PHP,... first I thought "ok I just create the authorization code once and then use it in my php code" but in the documentation is written

     

    You can now send the authorization code in exchange for an access token. Each authoization code can only be exchanged once. Any subsequent attempts will result in an error.

     

    So I can't use it over and over again to get a new access token to make API calls. So how did this work?

    my current state is that I make some calls via postman which leads to errors like

     

     
    {
        "error": "invalid_request",
        "error_description": "Required parameter(s) missing or wrong."
    }
     
    Which are not really clear what is wrong or what is missing.
    I mean I added everthing the documentation requested. 
    grant_type : authorization_code
    code: the auth code which is generated by the first link
    Basic Auth with username (client_id) and password (client_secret)
     
    Maybe someone can bring some light into my dark 🙂
     
      • Slimpaul's avatar
        Slimpaul
        New Contributor

        I would like to post an answer I recieved a response from the response

         

        So basic flow here would be:

        • Obtain Authorization Code using browser
        • Feed/redirect the access code to your application somehow
        • Exchange code for an Access Token and Refresh Token
        • Store Refresh Token
        • Use refresh token once a day to get a new Access Token payload
        • Always replace the stored Refresh token in the payload, even though they will be the same most of the time

        If this flow is done properly, you should not need to login using the browser again, but it is good to always have the ability to feed your app a new code just in case

         

        ---

         

        Maybe this help someone.

        Also the reason for the

        {
            "error": "invalid_request",
            "error_description": "Required parameter(s) missing or wrong."
        }

        Error was that the redirect_url was not the same I had in the access token request. Mybe that helps someone

        https://api.getgo.com/oauth/v2/authorize?client_id=CLIENT_ID_HERE&redirect_uri=https://mywebsite.io
        
        // use the same redirect_uri here
        curl --location --request POST 'https://api.getgo.com/oauth/v2/token' \
        --header 'Authorization: Basic <BASE64 client_id : client_secret>' \
        --header 'Accept: application/json' \
        --header 'Content-Type: application/x-www-form-urlencoded' \
        --data-urlencode 'grant_type=authorization_code' \
        --data-urlencode 'code={CODE}' \
        --data-urlencode 'redirect_uri=https://mywebsite.io'
  • I'm trying to create a GotoWebinar webhook but I'm getting 400 bad requests each time

    this is my callBackUrl function

    Route::get('g2w/webhook', function(Request $request) {
    return response()->json([
    'success'=>true
    ],200);
    });
    this is my post webhook creation request to https://api.getgo.com/G2W/rest/v2/webhooks

    [
    {
    "callbackUrl":"https://website.com/g2w/webhook/",
    "eventName":"webinar.created",
    "eventVersion":"1.0.0",
    "product":"g2w"
    }
    ]
    and always I get this error

    {
    "timestamp": 1609341614915,
    "status": 400,
    "error": "Bad Request",
    "exception": "com.logmein.webhooks.exceptions.InvalidRequestException",
    "message": "Invalid callbackUrl. callbackUrl not returning 200 OK as response. Please retry after sometime",
    "path": "/v1/webhooks"
    }

    GotoWebinar webhooks documentation

    • pablo3432's avatar
      pablo3432
      New Contributor

      Did you ever find a solution to this? What are you using for your webhooks?

  • be-pgaurav9's avatar
    be-pgaurav9
    New Contributor

    Earlier Get Webinar API was providing a recordingAssetKey for each SIMULIVE webinar in response. Now, after the new API updates, the response doesn't have recordingAssetKey

    Is there any way, other than Get Recording Assets  API, which provides associated reecordingAssetKey of SIMULIVE event?

  • In the last few days I noticed that when I use the Create Registrant API command the API return me the follow message

    {
        "asset"true,
        "status""APPROVED"
    }
     
    and not
     

    {

    "registrantKey": 0,

    "joinUrl": "https://......"

    }

    To retrieve the registrantKey and the joinUrl I need to retrieve all the registrants present in the webinar with Get Registrants command.

     

    Is this a temporary issue or the developer team changed the Create Registrant API reponse ?

     

     

  • Hi,

     

    I am facing a problem in refresh token.

    I logged out from my main account and I was unable to use to the refresh token it was only 2 days.

    I checked your document in https://goto-developer.logmeininc.com/how-get-access-token-and-organizer-key


    I checked the response data in the above URL it said this “Refresh token identifier, valid for 30 days, or until product logout”.

     

    Does this mean I need generate new response_key from OAuth2 using web browser.

  • Hello,

    I am trying to create a webinar event with API call https://goto-developer.logmeininc.com/content/gotowebinar-api-reference-v2#/Webinars/createWebinar

    We want to add few additional fields for the event for internal mesuarment purposes, such as 'Event level', 'Pricing type' etc. But I couldn't find any way to add such custom fields to the event itself while making API create call. Is it possible to add custom fields to event and if yes how should I add/upate via API?

     

    Also, the events created will be listed on a public website but the API call /Webinars/getWebinars doesn't provide Logo and Featured image parameters set in a event. Is there any different API call for that?

    How should I get event logo, featured image along with custom fields above mentioned?

     

    Thanks

    • pablo3432's avatar
      pablo3432
      New Contributor

      Hello,

      Did you find a way to do this?

      Thank you