Webinar Registration through Java
New development for calling zoom webinar from Java code
Please let me know the end point(URL) and the parameters need to be passed
POST/Webinars/{webinarid}/registrants
             
            
              
            
           
          
            
              
                tommy  
              
                  
                    June 30, 2020, 10:36pm
                   
                  2 
               
             
            
              Hey @raju.jan86 ,
Did you have a question? I don’t understand.
Thanks,
             
            
              
            
           
          
            
            
              Hi Tommy
Requirement : From my Application I need to call webinar(zoom) with the user details, so that the user will register for the webinar which has been already created.
Example Webinar URL : https://api.zoom.us/v2/webinars/123456789/registrants/ 
Step 1: I need to get access tone from zoom
I had tried below code for getting access token from Zoom
I am getting below response
Response Body : {“reason”:“Invalid request : Redirect URI mismatch.”,“error”:“invalid_request”} 
What should be the fix for the above error
public void getAccessToken() {
String authorization = (client_id +":"+client_secret).toString();
String authBase64String = Base64.getEncoder().encodeToString(authorization.getBytes());
RequestBody formBody = new FormBody.Builder()
		.add("grant_type","authorization_code")
		.add("code", "obBEe8ewaL_KdYKjnimT4KPd8KKdQt9FQ") //code copied from google
		.add("redirect_uri", webinarURL)
		.build();
		
Request request = new Request.Builder()
		.url(access_url)
		.addHeader("Authorization", "Basic "+authBase64String)
		.post(formBody)
		.build();
try {
	
	Response response = httpClient.newCall(request).execute();
	System.out.println("Response Body : "+response.body().string());
	
} catch (Exception e) {
	System.out.println("getAccessToken Exception : "+e);
}
}
             
            
              
            
           
          
            
              
                tommy  
                
                  
                    July 1, 2020, 10:25pm
                   
                  4 
               
             
            
              Hey @raju.jan86 ,
For the  Redirect URI mismatch make sure you have your redirect url in your whitelist in the app marketplace settings.
Also your redirect url is not your webinarURL, it is the redirect url set in your app  marketplace:
Thanks,
             
            
              
            
           
          
            
            
              Hi Team,
Below is the code I have written to connect zoom registrants API.
First getAccessToken() method will be called.
Then sendPOST() method will be called.
Could you please check whether the below logic is fine for connecting.
I am getting Socket Timeout Exception on this.
public class TestMain {
public static void main(String[] args) {
	TestMain test = new TestMain();
	test.getAccessToken();
	test.sendPOST();
}
private void getAccessToken() {
	System.out.println("getAccessToken Starts");
		
	String client_id = "123456789123456789";
	String client_secret = "987654321987654321";
	
	String authCode = "obBEe8ewaL_KdYKjnimT4KPd8KKdQt9FQ"; //code copied from google
	
    String authorization = (client_id +":"+client_secret).toString();
	
    String authBase64String = Base64.getEncoder().encodeToString(authorization.getBytes());
    
	String access_url = "https://zoom.us/v2/oauth/token";
	
	OkHttpClient httpClient = new OkHttpClient();
	
    RequestBody formBody = new FormBody.Builder()
    		.add("grant_type","authorization_code")
    		.add("code", authCode)
    		.add("redirect_uri", webinarURL)
    		.build();
    
	String oAthuToken2 = access_url+"?grant_type=authorization_code&code="+authCode+"&redirect_uri="+webinarURL;
	
    Request request = new Request.Builder()
            .url(oAthuToken2)
            .addHeader("Authorization", "Basic "+authBase64String)
            .post(formBody)
            .build();
    try {
    	
    	Response response = httpClient.newCall(request).execute();
    	
    	System.out.println("Response : " + response);
    	
    	if(response.isSuccessful()) {
    		System.out.println("**************Successfull***************");
    	}
    	
        System.out.println("Response Body : "+response.body().string());
        
    } catch (Exception e) {
    	System.out.println("getAccessToken Exception : "+e);
    }
    System.out.println("getAccessToken Ends");
}
private void sendPOST()  {
	String webinarURL = "https://api.zoom.us/v2/webinars/123456778/registrants"; 
		
    RequestBody formBody = new FormBody.Builder()
    		.add("email","sjfkghdsg@someemail.dfgjd")
    		.add("first_name","Jill")
    		.add("last_name","Chill")
            .build();
    Request request = new Request.Builder()
            .url(webinarURL)
            .addHeader("User-Agent", "OkHttp Bot")
            .post(formBody)
            .build();
    try {
    	Response response = httpClient.newCall(request).execute();
    	
    	System.out.println("Response : " + response);
    	if(response.isSuccessful()) {
    		System.out.println("**************Successfull***************");
    	}
        System.out.println(response.body().string());
    } catch (Exception e) {
    	System.out.println("Exception : "+e);
    }
}
}
             
            
              
            
           
          
            
              
                tommy  
              
                  
                    July 24, 2020,  9:34pm
                   
                  6 
               
             
            
              Hey @raju.jan86 ,
Are you getting any error messages from Zoom? Have you tried googling the Socket Timeout Exception error?
Thanks,